[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.)