문제 4475 · 바이트 II
주차 구역 이용 집계표
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 주차장의 데이터 담당자는 하루 동안 종료된 주차 이용 기록을 받아 구역별 집계표를 만들려 한다. 주차장은 알파벳 대문자 한 글자로 구역을 구분한다. 입력 파일은 첫 줄에 기록의 개수가 있고, 그 다음 줄부터는 쉼표로 열을 구분하는 간단한 CSV 형식을 사용한다. CSV의 첫 줄은 열 이름을 나타내는 zone,minutes이며, 그 아래에 실제 이용 기록이 이어진다. 각 기록의 zone은 차량이 이용한 구역이고 minutes는 그 이용의 주차 시간이다. 파일에는 차량 번호와 입차 시각이 없으며, 같은 구역과 같은 주차 시간이 여러 번 나타날 수 있다. 이러한 줄은 중복 오류가 아니라 서로 다른 이용을 뜻하므로 모두 집계해야 한다. 주차 시간이 0인 기록도 정상적인 이용 기록이며, 시간 합에는 0을 더하고 이용 횟수에는 1을 더한다. 담당자가 만들 집계표에는 실제 기록이 한 번 이상 등장한 구역만 포함한다. 각 구역에 대해 모든 주차 시간의 합과 이용 횟수를 계산한다. 이후 주차 시간의 합이 큰 구역부터 나열한다. 합이 같다면 구역 문자가 알파벳 순으로 앞선 구역을 먼저 나열한다. 이용 횟수는 표시할 정보일 뿐 정렬의 기준으로 사용하지 않는다. 입력에 따옴표, 쉼표가 포함된 값, 빈 열, 열 주변의 공백은 없다. 따라서 각 데이터 줄에는 구역과 주차 시간을 구분하는 쉼표가 정확히 하나 존재한다. 파일에 적히지 않은 구역을 이용 횟수 0으로 추가해서는 안 된다. 출력할 때는 원본의 쉼표 구분 형식 대신 공백으로 열을 구분한다. 기록이 하나도 없다면 집계표의 행을 만들지 않고 이를 나타내는 지정된 단어를 출력한다.
입력
첫째 줄에 정수 N이 주어진다. 0≤N≤50,000이다. 둘째 줄에는 정확히 zone,minutes가 주어진다. 다음 N개 줄에는 구역 문자 z와 주차 시간 m이 z,m 형식으로 주어진다. z는 A부터 Z까지의 알파벳 대문자 한 글자이다. m은 0≤m≤9,999인 정수이며, 0을 제외하면 앞에 불필요한 0이 붙지 않는다. 각 줄에는 공백이 없다.
출력
N이 0이면 EMPTY를 한 줄에 출력한다. 그 외에는 기록이 등장한 구역마다 한 줄씩 구역 문자, 주차 시간의 합, 이용 횟수를 공백으로 구분해 출력한다. 시간 합의 내림차순으로 출력하며, 합이 같으면 구역 문자의 오름차순으로 출력한다. 출력에 열 이름이나 전체 구역 수를 추가하지 않는다.
예제 입력 1
6 zone,minutes B,40 A,30 B,0 C,70 A,40 B,30
예제 출력 1
A 70 2 B 70 3 C 70 1
예제 입력 2
3 zone,minutes Z,0 D,0 Z,0
예제 출력 2
D 0 1 Z 0 2
예제 입력 3
0 zone,minutes
예제 출력 3
EMPTY
힌트 펼치기
- 각 구역의 시간 합과 이용 횟수를 따로 저장한 뒤, 등장한 구역을 시간 합의 내림차순과 문자의 오름차순으로 정렬한다.
알고리즘 분류
문자열집계정렬풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |