문제 3623 · 바이트 V
음원 별칭 등록 검사
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
음악 스트리밍 서비스에서는 내부 검색에 사용할 음원 별칭을 등록한다. 별칭은 이용자에게 보이는 곡 제목과 별개의 문자열이며, 아티스트 코드와 곡 코드를 빗금 하나로 연결하여 만든다. 여러 부서에서 보내온 등록 후보에 잘못된 문자열이 섞여 있어, 정해진 문자 규칙에 따라 각 후보를 검사하려 한다. 올바른 별칭에는 빗금 /가 정확히 하나 있어야 한다. 빗금 앞부분은 아티스트 코드이고 뒷부분은 곡 코드다. 아티스트 코드는 길이가 1 이상 10 이하이며 영문 소문자로만 이루어져야 한다. 곡 코드는 길이가 1 이상 15 이하이며 영문 소문자, 숫자, 붙임표 -만 사용할 수 있다. 두 부분 중 어느 하나라도 비어 있으면 올바른 별칭이 아니다. 곡 코드에는 추가 규칙이 있다. 첫 문자와 마지막 문자는 영문 소문자 또는 숫자여야 한다. 따라서 붙임표가 곡 코드의 맨 앞이나 맨 뒤에 올 수 없다. 또한 붙임표 두 개가 연속해서 등장할 수 없다. 붙임표를 반드시 포함할 필요는 없으며, 숫자로만 이루어진 곡 코드도 허용한다. 영문 대문자는 아티스트 코드와 곡 코드 어느 쪽에서도 허용하지 않는다. 검사는 각 후보에 대해 독립적으로 수행한다. 앞서 등장한 후보와 문자열이 같더라도 별도의 후보로 세며, 중복 여부는 올바름에 영향을 주지 않는다. 검사 전에 문자를 지우거나 바꾸지 않고 입력된 문자열 그대로 판정한다. 특히 대문자를 소문자로 바꾸거나, 연속된 붙임표를 하나로 줄여서 검사해서는 안 된다. 정규식으로 패턴을 표현하는 대신, 문자열의 문자와 각 부분의 길이를 직접 확인하여 검사할 수 있다. 전체 후보 중 올바른 별칭의 개수와 올바르지 않은 후보가 처음 등장한 위치를 구한다. 후보의 위치는 입력 순서대로 1부터 매긴다. 모든 후보가 올바르면 잘못된 후보의 위치는 0으로 출력한다.
입력
첫째 줄에 후보 수를 나타내는 정수 N이 주어진다. 1≤N≤10,000이다. 다음 N개 줄에 후보 문자열이 하나씩 주어진다. 각 문자열의 길이는 1 이상 30 이하이며, 영문 대문자, 영문 소문자, 숫자, 붙임표 -, 빗금 /로만 이루어진다. 공백은 포함하지 않는다.
출력
올바른 별칭의 개수와 처음으로 올바르지 않은 후보의 위치를 공백으로 구분하여 한 줄에 출력한다. 모든 후보가 올바르면 두 번째 값으로 0을 출력한다.
예제 입력 1
6 mira/blue-7 mira/-blue echo/99 Echo/song solo/a--b x/z
예제 출력 1
3 2
예제 입력 2
3 a/0 ten/quiet band/one-two
예제 출력 2
3 0
예제 입력 3
3 / a/b/c abc
예제 출력 3
0 1
힌트 펼치기
- 빗금의 개수를 확인한 뒤 두 부분을 나누어 검사한다.
- 곡 코드를 왼쪽부터 읽으며 현재 문자와 이전 문자가 모두 붙임표인지 확인한다.
알고리즘 분류
문자열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |