[BOJ] 1339
[BOJ]
me
자리가 앞일 수록 큰 것을 넣어줬다..
import sys
input=sys.stdin.readline
n=int(input())
words=[input().strip() for _ in range(n)]
words.sort(key=lambda x:len(x),reverse=True)
alphabets={}
num=9
form=''
for i in range(1,n):
    for j in range(len(words[0])-len(words[i])):
        words[i]='-'+words[i]
        
for i in range(len(words[0])):
    for j in range(n):
        if words[j][i] == '-': continue
        if words[j][i] not in alphabets:
            alphabets[words[j][i]]=str(num)
            num-=1
            
for word in words:
    for w in word:
        if w=='-':continue
        form+=alphabets[w]
    form+='+'
    
print(eval(form[:-1]))solution
자릿수를 계산해서 순서대로 9부터 할당
참고
- me
import sys
input=sys.stdin.readline
n=int(input())
words=[input().strip() for _ in range(n)]
alphabets={}
num=9
for word in words:
    len_word=len(word)
    for i in range(len_word):
        if word[i] not in alphabets:
            alphabets[word[i]]=10**(len_word-i)
        else: alphabets[word[i]]+=10**(len_word-i)
exp=''
hashResult = list(dict(sorted(alphabets.items(), reverse=True, key= lambda x: x[1])).keys())
num=9
for hr in hashResult:
    alphabets[hr]=str(num)
    num-=1
form=''
for word in words:
    temp=''
    for w in word:
        temp+=alphabets[w]
    form+=str(int(temp))+'+'
print(form)
print(eval(form[:-1]))
Author And Source
이 문제에 관하여([BOJ] 1339), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kinnyeri/BOJ-1339저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)