[BOJ] 백준 1339 단어 수학

태환·2024년 2월 22일
0

Coding Test

목록 보기
77/151

📌 [BOJ] 백준 1339 단어 수학

📖 문제

📖 풀이

📖 예제

import sys
input = sys.stdin.readline

N = int(input())
stk = []
for _ in range(N):
  stk.append(input().strip())

  Dict = {}
  for i in stk:
    x = len(i) - 1
    for j in i:
      if j not in Dict:
        Dict[j] = 10 ** x
      elif j in Dict:
        Dict[j] += 10 ** x
      x -= 1

new = sorted(Dict.values(), reverse=True)

ans = 0
num = 9
for i in new:
  ans += num * i
  num -= 1

print(ans)

딕셔너리 자료 구조를 활용하여 각 알파벳은 십의 몇승의 자릿수가 주어지는지 확인하다.
그런 뒤 가장 큰 자릿수가 주어지는 순서대로 알파벳을 정렬한 후 9부터 차례대로 합을 최대로 만드는 수를 배정 한다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글