단어 수학
Prob
각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제
N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만들기
Solv
- 자릿수가 큰 것부터 9부터 차례로 배정
알파벳 빈도에 따라 반례 존재 - 자릿수별로 합을 구한 후 내림차순 정렬
합을 구할 때는 map을 사용하고 priority_queue를 이용해 바로 정렬
Check
N=2
words=[GCF ACDEB]
word | ||
---|---|---|
A | 10000 | 9 |
C | 1010 | 8 |
G | 100 | 7 |
D | 100 | 6 |
E | 10 | 5 |
F | 1 | 4 |
B | 1 | 3 |
GCF(784) + ACDEB(98653) = 99437