단어 수학

단어 수학

Prob

각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제
N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만들기

Solv

  1. 자릿수가 큰 것부터 9부터 차례로 배정
    알파벳 빈도에 따라 반례 존재
  2. 자릿수별로 합을 구한 후 내림차순 정렬
    합을 구할 때는 map을 사용하고 priority_queue를 이용해 바로 정렬

Check

N=2
words=[GCF ACDEB]

word  
A100009
C10108
G1007
D1006
E105
F14
B13

GCF(784) + ACDEB(98653) = 99437

Ref


Modified by Sungbin Shim