정리
백준 1339번: 단어 수학 본문
백준 1339번: 단어 수학
1339번: 단어 수학
단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다.
www.acmicpc.net

백트래킹을 활용한 풀이도 있지만 그보다 덧셈식을 활용한 풀이가 더 좋다고 생각하여 덧셈식을 활용하여 풀었다
- N = 2, GCF + ACDEB 와 같은 입력이 주어진다고 가정하자
- 각 알파벳과 자릿수를 계산하면 ((G * 100) + (C * 10) + (F * 1)) + ((A * 10000) + (C * 1000) + (D * 100) + (E * 10) + (B * 1)) 와 같이 나타낼 수 있다
- 계수를 알파벳에 따른 내림차순으로 정리하면 (A * 10000) + (C * 1010) + (D * 100) + (G * 100) + (C * 10) + (E * 10) + (B * 1) + (F * 1) 와 같이 나타낼 수 있다
- 계수가 큰 알파벳부터 9부터 0까지 수를 부여하면 된다
아래는 파이썬 코드이다
'Programming > 백준 BOJ' 카테고리의 다른 글
| 백준 19699번: 소-난다! (0) | 2021.01.31 |
|---|---|
| 백준 1669번: 멍멍이 쓰다듬기 (0) | 2021.01.13 |
| 백준 1251번: 단어 나누기 (0) | 2021.01.11 |
| 백준 1654번: 랜선 자르기 (0) | 2021.01.05 |
| 백준 1789번: 수들의 합 (0) | 2020.12.25 |
Comments