[BOJ/DP] 백준 1463 - 1로 만들기 / 12852 - 1로 만들기 2 (Java)
·
✏️/BOJ
1463 - 1로 만들기https://www.acmicpc.net/problem/1463 문제1. 3으로 나누어 떨어짐 -> /32. 2로 나누어 떨어짐 -> /23. -1 => 정수 N이 주어졌을 때, 연산 세 개 적절히 사용해서 1을 만들려고 함-> 연산을 사용하는 횟수의 최솟값입력: $10^6$ >= 자연수 N >= 1출력: 연산을 하는 횟수의 쵯솟값풀이`dp[i]`: 숫자 i -> 1로 만들기 위한 최소 연산 횟수dp[0] = dp[1] = 0=> 항상 가능한 경우: i - 1 -> 1 i - 1까지 최소 연산 횟수 구해져 있음 -> + 해서 i까지 도달하는 데 필요한 연산 수 계산 나눠떨어질 때 더 짧은 경로 O -> 최소 연산 횟수로 덮어씀`dp[i] = dp[i / 2] + 1`, `dp[i..