본문으로 이동
코드패스 by Devin.KR

문제 3148 · 비트 III

주차 위치 코드 검사

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 주차장의 관리 프로그램은 종이 기록을 옮겨 적은 주차 위치 코드를 받아 저장한다. 사람이 직접 입력한 자료에는 하이픈이 빠지거나, 구역 문자가 잘못되거나, 번호의 자릿수가 달라진 항목이 섞일 수 있다. 자료를 등록하기 전에 각 문자열이 정해진 형식을 만족하는지 검사하고, 형식을 만족하는 항목과 만족하지 않는 항목의 수를 집계하려고 한다. 올바른 주차 위치 코드는 정확히 다섯 글자다. 첫 번째 글자는 구역을 나타내는 영문 대문자 A, B, C 중 하나이고, 두 번째 글자는 하이픈 -다. 세 번째부터 다섯 번째까지는 각각 0부터 9까지의 숫자여야 한다. 마지막 세 자리로 나타낸 주차 위치 번호는 001부터 999까지 허용한다. 따라서 앞자리에 0이 붙는 코드는 허용하지만, 마지막 세 자리가 모두 0인 코드는 허용하지 않는다. 이 조건은 모두 동시에 만족해야 한다. 구역 문자가 소문자이면 대문자로 고쳐서 판단하지 않으며, 번호의 자릿수가 부족하더라도 앞에 0을 붙이지 않는다. 문자열의 일부가 올바른 코드처럼 보여도 전체 문자열이 다섯 글자가 아니라면 올바르지 않다. 입력 문자열을 수정하거나 일부 글자를 제거하는 작업은 하지 않는다. 주차 위치 코드의 형식만 검사하므로, 해당 위치에 실제로 차가 있는지는 고려하지 않는다. 같은 문자열이 여러 번 입력될 수 있다. 이 경우에도 각 줄은 별개의 자료이므로 입력된 횟수만큼 각각 집계한다. 올바른 코드가 하나도 없다면 올바른 항목 수는 0이며, 모든 코드가 올바르다면 올바르지 않은 항목 수는 0이다. 정규식을 사용하지 않고 문자열의 길이와 각 위치의 문자를 확인하여 주어진 자료를 검사하는 프로그램을 작성한다. 검사 결과는 개별 항목마다 출력하지 않고, 두 종류의 항목 수만 출력한다.

입력

첫째 줄에 검사할 문자열의 수인 정수 N이 주어진다. 1 ≤ N ≤ 1,000이다. 다음 N개 줄에 문자열이 하나씩 주어진다. 각 문자열의 길이는 1 이상 20 이하이며, 영문 대문자, 영문 소문자, 숫자 0부터 9, 하이픈 -로만 이루어진다. 문자열에는 공백이 없고 빈 문자열은 주어지지 않는다.

출력

올바른 코드의 수와 올바르지 않은 코드의 수를 순서대로 공백 하나로 구분하여 한 줄에 출력한다.

예제 입력 1

7
A-001
B-730
C-000
a-123
A123
C-999
B-01

예제 출력 1

3 4

예제 입력 2

4
A-000
D-123
B-12x
C--12

예제 출력 2

0 4

예제 입력 3

3
C-009
C-009
A-100

예제 출력 3

3 0
힌트 펼치기
  • 길이가 5인지 먼저 확인한 뒤 구역 문자, 하이픈, 숫자 세 자리, 000 여부를 검사한다.

출처: Devin.KR 자체 제작

알고리즘 분류문자열구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)