출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

Collections 클래스에서 OrderedDict() 함수를 사용하는 문제다:

import re, sys

N = int(sys.stdin.readline())

pat1 = re.compile('[0-9]+')
pat2 = re.compile('[a-z]+|[A-Z]+')

item_list = {}

for i in range(N):
    item = sys.stdin.readline().strip()
    item_name = ' '.join(pat2.findall(item))
    item_price = int(pat1.findall(item)[0])
    if not item_name in item_list:
        item_list[item_name] =  item_price
    else:
        item_list[item_name] += item_price
for j in item_list:
    print("%s %s" %(j, item_list[j]))


하지만 문제를 보니 실제로 이를 사용할 필요가 전혀 없었다. 더불어 OrderedDict()를 사용했으면 더욱 더 복잡하게 만들고 어떻게 풀어야할지 감도 안잡혔다. 따라서 re 함수를 사용하여 간단하게 풀었다.