알고리즘/백준
백준 1463 1로 만들기 (자바)
김어찐
2021. 9. 14. 17:10
728x90
import java.util.Scanner;
public class algo_1463_김어진 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[] dp = new int[num+1];
if(num==1) {
System.out.println(0);
return;
}
else if(num==2) {
System.out.println(1);
return;
}
dp[1]=0;
dp[2]=1;
for (int i = 3; i <= num; i++) {
int minValue=Integer.MAX_VALUE;
if(i%3==0) {
minValue = Math.min(minValue, dp[i/3]);
}
if(i%2==0) {
minValue = Math.min(minValue, dp[i/2]);
}
minValue = Math.min(minValue, dp[i-1]);
dp[i]=minValue+1;
}
System.out.println(dp[num]);
}
}728x90