CS/알고리즘_문제풀이(자바)

1로 만들기

Jedy_Kim 2021. 9. 20. 20:09
728x90

https://www.acmicpc.net/problem/1463

 

1463번: 1로 만들기

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

www.acmicpc.net

// 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
import java.io.*;
 
public class Main{
    public static void main(String[] args) throws Exception {
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       int N = Integer.parseInt(br.readLine());
       int dp[] = new int[N+1];
       dp[0= 0;
       dp[1= 0;
       for (int i=2; i<=N; i++){
           dp[i] = dp[i-1+ 1;
           if (i % 2 == 0) dp[i] = Math.min(dp[i], dp[i/2+ 1);
           if (i % 3 == 0) dp[i] = Math.min(dp[i], dp[i/3+ 1);
       }
       System.out.println(dp[N]);
    }
}
cs

 

반응형

'CS > 알고리즘_문제풀이(자바)' 카테고리의 다른 글

곱셈  (0) 2021.09.20
2×n 타일링  (0) 2021.09.20
GCD 합  (0) 2021.09.17
최소공배수  (0) 2021.09.17
DFS와 BFS  (0) 2021.09.15