문제 4651 · 바이트 II
우편 구역별 무게 장부
댓글 0| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms | 측정하지 않음 | 0 | 0 | 0 | 0.00% |
문제
한 우체국은 하루 동안 접수한 소포의 정보를 CSV 형식의 장부로 보관한다. 장부의 각 행에는 배송 구역 코드와 소포 한 개의 무게가 들어 있다. 같은 구역으로 보내는 소포도 접수할 때마다 별도의 행으로 기록하므로, 하나의 구역 코드가 여러 번 나타날 수 있다. 담당자는 이 장부를 이용해 구역별 총무게를 계산하고, 총무게가 지정된 기준 이상인 구역만 추려 운송 준비 목록을 만들려고 한다. 배송 구역 코드는 영문 대문자 두 글자로 이루어진 문자열이다. 코드를 이루는 두 글자 모두 구역을 구분하는 데 사용하며, 서로 다른 코드는 서로 다른 구역을 뜻한다. 한 행의 무게는 그 행에 기록된 소포 하나의 무게이며, 같은 코드의 모든 행에 적힌 무게를 더한 값이 해당 구역의 총무게다. 무게가 같은 행이 반복되더라도 서로 다른 소포의 기록이므로 모두 합산해야 한다. 운송 준비 목록에는 총무게가 기준 T 이상인 구역만 넣는다. 기준과 총무게가 정확히 같아도 목록에 포함한다. 목록은 총무게가 큰 구역부터 출력하며, 총무게가 같으면 구역 코드의 사전순으로 출력한다. 영문 대문자의 사전순은 A부터 Z까지의 순서를 따른다. 장부에 한 번도 나타나지 않은 코드는 총무게가 0인 구역으로 추가하지 않는다. 장부에는 제목 행이 없으며, 각 데이터 행에는 코드와 무게 사이에 쉼표 하나만 들어 있다. 쉼표 앞뒤에 공백이나 따옴표는 없다. 프로그램은 장부에 실제로 나타난 구역의 합계를 구한 뒤 조건에 맞는 목록을 작성해야 한다. 조건에 맞는 구역이 하나도 없으면 목록의 개수인 0만 출력한다. 입력 행의 순서는 결과의 정렬 순서에 영향을 주지 않는다.
입력
첫째 줄에 정수 N과 T가 공백으로 구분되어 주어진다. 1≤N≤30,000이며 1≤T≤30,000,000이다. 다음 N개 줄에는 배송 구역 코드와 정수 무게 W가 코드,W 형식으로 주어진다. 코드는 영문 대문자 두 글자이며 1≤W≤1,000이다. 입력에는 제목 행과 빈 줄이 없다.
출력
첫째 줄에 조건을 만족하는 구역의 수 K를 출력한다. 다음 K개 줄에 구역 코드와 총무게를 공백으로 구분하여 출력한다. 총무게의 내림차순으로 출력하고, 총무게가 같으면 코드의 사전순으로 출력한다. K=0이면 첫째 줄만 출력한다.
예제 입력 1
6 8 BA,4 AA,5 BA,5 CC,8 AA,4 DD,2
예제 출력 1
3 AA 9 BA 9 CC 8
예제 입력 2
3 10 AZ,3 AZ,3 ZZ,9
예제 출력 2
0
힌트 펼치기
- 각 코드의 무게를 합산한 뒤, 기준을 통과한 구역만 정렬한다.
알고리즘 분류
문자열해시정렬풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
댓글 0
로그인하면 댓글을 쓸 수 있습니다.
댓글 접기·펼치기
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| JavaScript | 브라우저 JavaScript | 1000ms / 테스트 | 측정하지 않음 |
| TypeScript | TypeScript 5.9.3 | 1000ms / 테스트 | 측정하지 않음 |
| Python 3 | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음 |
| C | YoWASP Clang 22 | 2000ms / 테스트 | 측정하지 않음 |
| C++ | YoWASP Clang 22 / libc++ | 2000ms / 테스트 | 측정하지 않음 |
| Java | OpenJDK javac + TeaVM (Java 21 문법) | 3000ms / 테스트 | 측정하지 않음 |
| Lua | Wasmoon 1.16.0 / Lua 5.4 | 3000ms / 테스트 | 측정하지 않음 |
| Ruby | Ruby 3.4 / ruby.wasm 2.10.1 | 5000ms / 테스트 | 측정하지 않음 |
| Scheme | BiwaScheme 0.8.3 | 5000ms / 테스트 | 측정하지 않음 |
| Prolog | SWI-Prolog / swipl-wasm 8.2.5 | 5000ms / 테스트 | 측정하지 않음 |
| Perl | Perl 5.28 / WebPerl 0.09-beta | 5000ms / 테스트 | 측정하지 않음 |