문제 1010 · 기초 3
서점 재고 정리
정렬 · 문자열
테스트별 제한 1500ms · 브라우저 채점
문제
동네 서점이 재고표를 다시 뽑으려 한다. 책마다 고유한 코드와 재고 수가 있다. 재고가 0 인 책은 표에서 뺀다. 남은 책은 재고가 많은 순서로 적고, 재고가 같으면 코드의 사전 순서로 적는다. 사전 순서는 글자의 ASCII 코드 순서이며(숫자가 영문 대문자보다 앞선다), 한 코드가 다른 코드의 앞부분이면 짧은 쪽이 먼저다. 재고가 있는 책이 한 권도 없으면 EMPTY 를 출력한다.
입력
첫째 줄에 책의 수 N (1 ≤ N ≤ 20,000) 이 주어진다. 다음 N개 줄에 코드와 재고 수가 공백으로 구분되어 주어진다. 코드는 영문 대문자와 숫자로 된 1~10 글자이고 서로 다르다. 재고 수는 0 이상 1,000,000 이하의 정수다.
출력
정렬한 순서대로 한 줄에 한 권씩 코드와 재고 수를 공백으로 구분해 출력한다. 출력할 책이 없으면 EMPTY 를 출력한다.
예제 입력 1
5 B12 3 A7 10 C1 0 A10 3 ZZ 10
예제 출력 1
A7 10 ZZ 10 A10 3 B12 3
예제 입력 2
2 Q 0 R 0
예제 출력 2
EMPTY
힌트 펼치기
- 정렬 기준이 둘이면 (−재고, 코드) 같은 묶음을 기준으로 삼으면 한 번에 정렬된다.
- 재고는 숫자로 비교해야 한다. 문자열로 비교하면 "9" 가 "10" 보다 뒤로 간다.
관련 장
풀이 작성
코드는 서버로 전송하지 않습니다. 테스트가 공개되는 연습용 채점으로, 대회·인증용이 아닙니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
로그인 여부와 관계없이 이 브라우저에만 최근 제출 50개를 저장합니다.