1339번: 단어 수학
첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대
www.acmicpc.net
가장 큰 가치가 있는 알파벳부터 큰 숫자를 주는 것이 중요하다.
- 알파벳의 위치에 따라 값을 매겨 alpha에 저장해준다.
- alpha를 값에 따라 정렬하여 큰값부터 9~0을 매겨서 result를 만든다.
import sys from collections import defaultdict arr = [] N = int(input()) alpha = defaultdict(int) for _ in range(N): arr.append(input().rstrip()) for s in arr: for i in range(len(s)): alpha[s[i]] += 10**(len(s)-1-i) alphalist = sorted(alpha.values(), reverse=True) result = 0 num = 9 for a in alphalist: result += num*a num -= 1 print(result)
최근댓글