(진행중)[백준] 단어 수학

데린이·2022년 5월 24일
0

알파벳에 숫자를 부여하여 최대 결과값을 산출하는 조합을 찾기
https://hangjastar.tistory.com/216

22-05-24

N = int(input())
alphabet,count_apb = ['']*9,''
for _ in range(N):
    for i,a in enumerate(input()[::-1]):
        alphabet[8-i] += a
        count_apb += a*(i+1)
        
answer,number_hash,number = 0, {}, 9
for i,apb in enumerate(alphabet):
    for a in sorted(apb,key = lambda x : count_apb.count(x), reverse = True):
        if a not in number_hash.keys():
            number_hash[a] = number
            number -= 1
        answer += number_hash[a]*(10**(8-i))
                
print(answer)

fail..
단어가 위치한 자리가 높은 십의 자리일 수록 높은 숫자를 부여하는 코드를 작성

반례) ABB/ BB 9회 반복
A : 8
B : 9

profile
취뽀를 기원하는 취준생입니다!

0개의 댓글