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

Jifrozen·2021년 9월 7일
0

Algorithm

목록 보기
49/70
# https://www.acmicpc.net/problem/1339
n = int(input())
data = [input() for _ in range(n)]
result = 0
# 알파벳과 자리수 저장
a_dict = {}
number = []
# [GCB],[ACDEB] 2번 반복
for i in range(len(data)):
    # ['G','C','B'] 3번 반복
    for j in range(len(data[i])):
    	# a_dict안에 있으면
        if data[i][j] in a_dict:
            # 'G'의 경우 10**(3 - 0 -1) = 100
            a_dict[data[i][j]] += 10 ** (len(data[i]) - j - 1)
        else:
            a_dict[data[i][j]] = 10 ** (len(data[i]) - j - 1)
# dict안에 values꺼내서 list 저장
for n in a_dict.values():
    number.append(n)

number.sort(reverse=True)

a = 9
for i in range(len(number)):
    result += number[i] * a
    a -= 1
print(result)

0개의 댓글