아이디어
- 각 알파벳의 자릿수를 계산한다.
ex) AAA => A의 자릿수값은 111
- 자릿수값을 기준으로 내림차순 정렬한다.
- 자릿수값이 큰 순서대로 9부터 0까지 숫자를 부여해준다.
- 알파벳별로 매칭된 숫자값을 기준으로 단어를 숫자로 변환해준다.
- 변환된 숫자를 더해서 최종 값을 구한다.
코드
N = int(input())
num = list(range(10))
words = []
tmp = {}
new = {}
for _ in range(N):
words.append(input())
for word in words:
for i in range(len(word)):
if word[i] in tmp:
tmp[word[i]] += (10**(len(word)-i-1))
else:
tmp[word[i]] = (10**(len(word)-i-1))
tmp = sorted(tmp.items(), key = lambda x : x[1], reverse= True)
num = 9
for i in range(len(tmp)):
new[tmp[i][0]] = num
num -= 1
result = 0
for word in words:
tmpresult = ""
for w in word:
tmpresult += str(new[w])
result += int(tmpresult)
print(result)
깰꼼하네요