-
boj)1463 - 1로 만들기PS/boj 2020. 9. 16. 17:37
import java.io.*; // # 1로 만들기 public class boj_1463 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int[] dp = new int[1000001]; public static void main(String[] args) throws IOException { int n = Integer.parseInt(br.readLine()); dp[2] = 1; dp[3] = 1; for (int i = 4; i <= n; i++) { if (i % 3 == 0) { dp[i] = Math.min(dp[i/3], dp[i-1]) + 1; } else if (i % 2 == 0) { dp[i] = Math.min(dp[i/2], dp[i-1]) + 1; } else { dp[i] = dp[i-1] + 1; } } System.out.println(dp[n]); } }
- DP 문제
- 밑에서부터 n까지 하나씩 dp 테이블에 쌓았다.
'PS > boj' 카테고리의 다른 글
boj)11727 - 2xn 타일링 2 (0) 2020.09.16 boj)11726 - 2xn 타일링 (0) 2020.09.16 boj)17103 - 골드바흐 파티션 (0) 2020.09.16 boj)1212 - 8진수 2진수 (0) 2020.09.16 boj)1373 - 2진수 8진수 (0) 2020.09.16