Skip to content

Latest commit

 

History

History
22 lines (18 loc) · 1.13 KB

풀이_1339.md

File metadata and controls

22 lines (18 loc) · 1.13 KB

🦀 백준 1339 - 단어 수학

  • Date : 2021.08.01(일)
  • Time : 30분

문제

  • 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오.

코드 풀이

a = [0 for i in range(26)]
for i in s:
    li = len(i)
    for j in range(li): a[ord(i[j]) - 65] += 10 ** (li - j - 1)

: 먼저 인접한 두 숫자를 본 다음에 뒤의 숫자가 더 크다면 단순히 바꿔주는 걸로 다음 순열을 완성할 수 있다.