문제 3672 · 비트 III
항공권 검토 코드 검사
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
항공권 예약 업무를 지원하는 직원은 검토 대기 목록에 붙은 내부 코드를 정리하고 있다. 이 코드는 실제 항공편 번호나 예약 번호가 아니라, 담당자가 검토할 항목을 구분하기 위해 사용하는 짧은 문자열이다. 여러 화면에서 복사한 목록에는 형식에 맞지 않는 코드도 섞여 있어, 다음 작업을 시작하기 전에 올바른 코드가 몇 개 있는지 확인해야 한다. 올바른 코드는 정확히 7개의 문자로 이루어진다. 왼쪽부터 첫 번째와 두 번째 문자는 각각 영문 대문자 'A'부터 'Z'까지 중 하나여야 한다. 세 번째 문자는 반드시 붙임표 '-'여야 한다. 네 번째부터 일곱 번째까지의 네 문자는 각각 숫자 문자 '0'부터 '9'까지 중 하나여야 한다. 또한 마지막 네 문자가 모두 '0'인 코드는 사용하지 않으므로 올바른 코드로 세지 않는다. 숫자 부분의 맨 앞에 '0'이 오는 것은 허용한다. 따라서 'QT-0008'은 형식에 맞지만 'QT-0000'은 형식에 맞지 않는다. 영문 소문자는 대문자로 바꾸지 않고 입력 그대로 검사한다. 길이가 다르거나 붙임표가 다른 위치에 있는 코드도 자동으로 고치지 않는다. 문자열의 일부만 규칙에 맞는 경우에는 전체 코드를 올바르다고 판단하지 않는다. 목록의 각 줄은 독립적인 검토 항목 하나를 나타낸다. 같은 코드가 여러 줄에 반복되어도 각 줄을 따로 검사하고, 올바른 코드라면 반복된 줄도 모두 개수에 포함한다. 코드가 실제 예약에 연결되는지, 두 영문자가 어떤 뜻인지 등은 검사하지 않으며 위에 적힌 문자 규칙만 적용한다. 정규식을 사용하지 않고 문자열의 길이와 각 위치의 문자를 직접 확인하여 올바른 코드의 개수를 구한다. 올바른 코드가 하나도 없다면 그 개수는 0이다.
입력
첫째 줄에 검토 항목 수 N이 주어진다. N은 1 이상 1,000 이하의 정수다. 다음 N개 줄에 코드가 하나씩 주어진다. 각 코드의 길이는 1 이상 20 이하이며, 영문 대문자, 영문 소문자, 숫자 문자, 붙임표 '-'로만 이루어진다. 코드에는 공백이 없다.
출력
규칙에 맞는 코드의 개수를 정수 하나로 출력한다. 규칙에 맞는 코드가 없으면 0을 출력한다.
예제 입력 1
6 QT-0008 AB-0000 qT-1234 ZX-9001 AB12345 LM-0120
예제 출력 1
3
예제 입력 2
4 A-1234 AB-12C4 AB--1234 ab-0001
예제 출력 2
0
예제 입력 3
3 AA-0001 AA-0001 ZZ-9999
예제 출력 3
3
힌트 펼치기
- 길이가 7인지 먼저 확인한 뒤 각 위치에서 허용하는 문자 범위를 검사한다.
알고리즘 분류
구현문자열풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |