Coding Test/백준
[C++/Python] 백준 1463 - 1로 만들기
Junchoi
2020. 7. 20. 14:00
문제 링크
https://www.acmicpc.net/problem/1463
1부터 입력으로 받은 n까지 bottom-up 방식으로 3가지 연산방식의 최솟값을 구해나가야 합니다.
먼저 n이 1인 경우 연산을 할 필요가 없으므로 0 입니다. d[1] = 0
1. n에서 1을 빼는 경우는 n-1의 최솟값에서 한 번의 연산 횟수(1을 뺀다)가 추가됩니다.
2. n이 2로 나누어 떨어지면 n / 2의 최솟값에서 한 번의 연산 횟수(2로 나눈다)가 추가됩니다.
3. n이 3으로 나누어 떨어지면 n / 3의 최솟값에서 한 번의 연산 횟수(3으로 나눈다)가 추가됩니다.
위 3가지 중 최솟값이 정답이 됩니다.
구현 코드