Coding Test/백준
[C++/Python] 백준 1463 - 1로 만들기
Junchoi
2020. 7. 20. 14:00
문제 링크
https://www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
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가지 중 최솟값이 정답이 됩니다.
구현 코드