- 자릿수가 큰 곳에 위치한 알파벳에 큰 숫자를 매칭해줘야함
-> assn 딕셔너리를 통해 words의 word를 순회하며 각 알파벳들의 자릿수에 따른 level을 계산해줌 (아래 두 사진처럼)
- dictionary를 value에 따라 내림차순으로 정렬해줌
sorted(assn.items(), key=lambda x: x[1], reverse=True)
- sorted_dict를 순회하면서 9, 8, 7, ... 순서로 각 알파벳에 숫자를 할당해주고 합을 구함
import sys
from collections import deque
N = int(input())
words = []
for i in range(N):
tmp = list(sys.stdin.readline()[:-1])
words.append(tmp)
assn = dict()
for word in words:
for i in range(len(word)):
number = 10 ** (len(word) - i - 1)
if word[i] in assn:
assn[word[i]] += number
else:
assn[word[i]] = number
sorted_dict = sorted(assn.items(), key=lambda x: x[1], reverse=True)
answer = 0
for i in range(len(sorted_dict)):
answer += sorted_dict[i][1] * (9 - i)
print(answer)