백준공부/java

[백준] 1463번 1로 만들기 문제! (silver 3

gomduri43 2023. 4. 29. 22:58

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        int n=Integer.parseInt(br.readLine());
        int[] num=new int[n+3];
        num[2]=1;
        num[3]=1;
        int temp=0;
        for(int i=4; i<=n; i++){
            num[i]=num[i-1]+1;
            if(i%2==0){
                temp=1+num[i/2];
                num[i]=Math.min(temp,num[i]);
            }
            if(i%3==0){
                temp=1+num[i/3];
                num[i]=Math.min(temp,num[i]);
            }
        }
        bw.write(num[n]+"");
        bw.flush();
    }
}