제품 주문 집계

면접 대비

시간 제한1초메모리 제한128 MB

요약
제품 이름별로 주문 수량을 모두 더한 뒤, 이름 길이 오름차순으로, 길이가 같으면 사전순으로 정렬해 각 제품과 합계를 출력한다.
난이도

보통10점 중 4점

유형
해시맵, 정렬, 문자열, 구현
정답자
아직 제출이 없습니다

문제

어떤 공장에서는 각 영업소로부터 제품 생산 주문을 받는다. 전날 들어온 주문을 모아 각 제품별 생산 합계를 구하려고 한다.

입력의 첫 번째 줄에는 주문 데이터의 개수 nn이 주어진다. 이어지는 nn개의 줄에는 각각 제품 이름과 주문 수량이 공백으로 구분되어 주어진다. 제품 이름은 5자 이하의 영어 대문자로 이루어진다. 같은 제품이 여러 주문 데이터에 나타날 수 있으며, 주문의 순서는 정해져 있지 않다.

같은 제품의 주문 수량을 모두 더한 뒤, 각 제품 이름과 그 합계를 공백으로 구분하여 출력한다. 단, 제품 이름을 다음 기준에 따라 정렬하여 출력한다.

정렬 기준: 이름의 길이가 짧은 순으로 정렬하고, 길이가 같으면 앞에서부터 한 글자씩 비교하여 처음으로 다른 문자의 알파벳 순으로 정렬한다.

입력

입력 데이터에서 제품의 종류 수, 각 주문 수량, 그리고 각 제품의 합계는 모두 10810^8 이하이다.

출력

위 정렬 기준에 따라 각 제품 이름과 그 합계를 한 줄에 하나씩 출력한다. 마지막 줄에도 줄바꿈 문자를 넣는다.

예제2

  1. 예제 1

    입력
    5
    A 20
    B 20
    A 20
    AB 10
    Z 10
    
    예상 출력
    A 40
    B 20
    Z 10
    AB 10
    
  2. 예제 2

    입력
    5
    AAA 20
    ABA 20
    AAA 20
    AAB 20
    AAA 20
    
    예상 출력
    AAA 60
    AAB 20
    ABA 20