알고리즘/백준

[백준] 1339 - 단어 수학 (파이썬)

소갱 2021. 9. 22. 14:11
import sys
n = int(sys.stdin.readline().rstrip())
array = []
ex = {'A':0,'B':0,'C':0,'D':0,'E':0,'F':0,'G':0,'H':0,'I':0,'J':0,\
    'K':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0,'T':0,'U':0,\
        'V':0,'W':0,'X':0,'Y':0,'Z':0}
for _ in range(n):
    array.append(list(sys.stdin.readline().rstrip()))

for i in range(n):
    cnt = 0
    for j in range(len(array[i])-1,-1,-1):
        ex[array[i][j]] += 10**cnt
        cnt += 1
brray = sorted(ex.items(), reverse=True,key=lambda x: x[1])
cnt = 9
for i in range(0,10):
    ex[brray[i][0]] = cnt
    cnt -=1
crray = []
for i in range(n):
    t = ""
    for j in range(len(array[i])):
        array[i][j] = str(ex[array[i][j]])
        t += array[i][j]
    crray.append(int(t))
print(sum(crray))