μ²μ μ€κ³μμλ κ°μ₯ μλ¦Ώμκ° λμ΄ μλ μνλ²³λΆν° μ°¨λ‘λλ‘ 9λΆν° μ«μλ₯Ό λΆμ¬νλ κ²μ μκ°νλ€.
β λ°λ‘ μ‘΄μ¬
10
ABB
BB
BB
BB
BB
BB
BB
BB
BB
BB
# 1) 988 + 88 * 9 = 1780
# 2) 899 + 99 * 9 = 1790
λ°λΌμ κ°μ₯ μ€μν ν¬μΈνΈλ κ° μνλ²³μ΄ λνλ λͺ¨λ μλ¦Ώμλ₯Ό κ³μ°ν΄μ κ·Έ κ°μ ν λλ‘ μ«μλ₯Ό λΆμ¬νλ κ²μ΄λ€. μ΄λ, λμ
λ리λ₯Ό μ΄μ©νμ.
μλ¦Ώμ κ³μ°μ 10μ μ κ³±μλ₯Ό μ΄μ© ex) ABCDE β A : 10^4
μ΄λ―Έ λμ λ리μ μλ μ«μλ©΄ μλ¦Ώμλ₯Ό λν΄μ κ³μ°νλ€.
import sys
n = int(sys.stdin.readline())
words = []
for _ in range(n):
words.append(list(sys.stdin.readline().rstrip()))
# κ°μ₯ μλ¦Ώμκ° λμ΄ μλ μνλ²³λΆν° μ°¨λ‘λλ‘ 9λΆν° μ«μλ₯Ό λΆμ¬νλ κ²μ μκ°
# -> μμΈ λ°μ
# κ° μνλ²³μ΄ λνλ λͺ¨λ μλ¦Ώμλ₯Ό κ³μ°ν΄μ κ·Έ κ°μ ν λλ‘ μ«μλ₯Ό λΆμ¬
# μλ¦Ώμλ₯Ό κ³μ°ν΄μ λμ
λ리μ λ£κΈ° {'A' : 10000}
alpha_value = {}
for word in words:
for i in range(len(word)):
if word[i] not in alpha_value:
alpha_value[word[i]] = 10 ** (len(word) - 1 - i) # μλ¦Ώμ νν
else:
alpha_value[word[i]] += 10 ** (len(word) -1 - i)
# μλ¦Ώμκ° λμ μμλλ‘ μνλ²³ μ λ ¬νκΈ°
alpha_value = sorted(alpha_value.items(), key=lambda x: x[1], reverse=True)
alpha_to_num = {}
# μ λ ¬ν μνλ²³ 리μ€νΈμμ μμλλ‘ μνλ²³μ κΊΌλ΄ μ«μ μ§μ νκΈ° {'A' : 9}
num = 9
for alpha in alpha_value:
alpha_to_num[alpha[0]] = num
num -= 1
# λ¨μ΄μ ν© κ΅¬νκΈ°
ans = 0
for word in words:
num = ""
for i in range(len(word)):
num += str(alpha_to_num[word[i]])
ans += int(num)
print(ans)