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 |
반응형