131. 단어 수학
1. Python
n = int(input())
words = [input() for _ in range(n)]
dict = {}
#딕셔너리에 알파벳당 숫자 집어넣기
for word in words:
k=len(word)-1
for s in word:
if s in dict:
dict[s]+=pow(10,k)
else:
dict[s]=pow(10,k)
k-=1
nums=[]
#사전의 값들만으로 이루어진 리스트 초기화하기
for value in dict.values():
nums.append(value)
#숫자 큰순으로 정렬하기
nums.sort(reverse=True)
#출력할 값과 곱해야하는 수 초기화하기
result,t=0,9
#값 구하기
for i in range(len(nums)):
result+=nums[i]*t
t-=1
print(result)
2. C++
// 알파벳이 주어지면
// 알파벳별로 숫자를 하나씩 매핑해보는게 일입니다.
// 최대 10개가 주어지는데....경우의수?????
// 이렇게 만든 경우의수에 대해서
// 직접 숫자을 대입해서 합을구하고, 최대값을 찾는다....
// 두번째 ==> 숫자를 그대로이용하는 방법
// ABCD : 1000 * A + 100 * B + 10 * C + D
// GCD : 100 * G + 10 * C + D
// EFABC : 10000 * E + 1000 * F + 100 * A + 10 * B + C
// ----------------------------------------------------
// 1100 * A + 110 * B + 21 * C + 2 * D + 10000 * E + 1000 * F + 100 * G
Author And Source
이 문제에 관하여(131. 단어 수학), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@corone_hi/131.-단어-수학저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)