문제 4241 · 바이트 IV
항공권 코드의 같은 표기
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
항공권 확인 창구에서는 승객이 제시한 예약 코드와 접수 목록에 적힌 코드를 비교한다. 예약 코드는 영문자, 숫자, 하이픈으로 이루어진 문자열이다. 접수 경로마다 코드를 보기 좋게 나누는 방식이 달라서 같은 예약 코드에도 하이픈 위치나 영문자의 대소문자가 서로 다를 수 있다. 담당자는 이러한 표기 차이를 정해진 규칙으로 처리하려고 한다. 코드를 비교할 때에는 먼저 문자열에 있는 모든 하이픈을 제거한다. 그다음 영문 소문자를 각각 대응하는 영문 대문자로 바꾼다. 이 두 작업을 거친 결과 문자열이 완전히 같으면 같은 코드로 판단한다. 하이픈은 문자열의 처음이나 끝에 있을 수도 있고, 여러 개가 연속해서 나타날 수도 있으며, 위치와 개수에 관계없이 모두 제거한다. 숫자는 변환하지 않는다. 특히 숫자 0과 영문자 O는 서로 다른 문자이며, 숫자 1과 영문자 I도 서로 다른 문자다. 숫자 앞에 붙은 0 역시 그대로 남겨야 하므로 제거해서는 안 된다. 하이픈을 없앤 뒤 남은 문자의 순서를 바꾸거나, 비슷하게 생긴 문자를 다른 문자로 고치는 작업도 하지 않는다. 승객이 제시한 기준 코드 하나와 접수 목록의 코드 N개가 주어진다. 접수 목록에는 위에서부터 1번부터 N번까지 순서 번호가 붙어 있다. 담당자는 기준 코드와 같다고 판단되는 목록 항목의 개수를 세고, 그중 가장 먼저 등장한 항목의 순서 번호를 함께 확인하려고 한다. 같은 문자열이 목록에 여러 번 적혀 있더라도 각 항목은 별도로 센다. 하이픈 위치나 대소문자만 다른 여러 항목이 같은 코드로 판단되는 경우에도 각각 하나씩 센다. 일치하는 항목이 없다면 개수와 순서 번호를 모두 0으로 기록한다. 주어진 비교 규칙을 정확히 적용하여 담당자가 기록할 두 정수를 구한다.
입력
첫째 줄에 접수 목록의 항목 수 N이 주어진다. N은 1 이상 15,000 이하의 정수다. 둘째 줄에 기준 코드가 주어진다. 다음 N개 줄에는 접수 목록의 코드가 순서대로 하나씩 주어진다. 기준 코드와 목록의 모든 코드는 길이가 1 이상 16 이하이며, 영문 대문자 A부터 Z, 영문 소문자 a부터 z, 숫자 0부터 9, 하이픈(-)만으로 이루어진다. 각 코드에는 영문자 또는 숫자가 적어도 하나 포함된다. 공백은 포함되지 않는다.
출력
기준 코드와 일치하는 목록 항목의 개수와, 일치하는 항목 중 가장 작은 순서 번호를 공백으로 구분하여 한 줄에 출력한다. 일치하는 항목이 없으면 0 0을 출력한다.
예제 입력 1
6 k-07-M K07m k-7-m -K--07m- K07N k0-7-M K007M
예제 출력 1
3 1
예제 입력 2
3 A0-I AOI a01 A-I0
예제 출력 2
0 0
예제 입력 3
4 --x-- Y -x- X x--
예제 출력 3
3 2
힌트 펼치기
- 각 코드를 하이픈이 없고 영문자가 모두 대문자인 문자열로 바꾼 뒤 비교한다.
관련 서재 장
알고리즘 분류
문자열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |