import sys
input = sys.stdin.readline
N = int(input())
stk = []
for _ in range(N):
stk.append(input().strip())
Dict = {}
for i in stk:
x = len(i) - 1
for j in i:
if j not in Dict:
Dict[j] = 10 ** x
elif j in Dict:
Dict[j] += 10 ** x
x -= 1
new = sorted(Dict.values(), reverse=True)
ans = 0
num = 9
for i in new:
ans += num * i
num -= 1
print(ans)
딕셔너리 자료 구조를 활용하여 각 알파벳은 십의 몇승의 자릿수가 주어지는지 확인하다.
그런 뒤 가장 큰 자릿수가 주어지는 순서대로 알파벳을 정렬한 후 9부터 차례대로 합을 최대로 만드는 수를 배정 한다.