문제링크
https://www.acmicpc.net/problem/1463
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int d[] = new int[N+1];
d[1] = 0;
for(int i=2;i<=N;i++) {
for(int j=0;j<3;j++) {
d[i] = d[i-1]+1; //1을뺴는 경우
if(i%2 ==0) d[i] = Math.min(d[i], d[i/2]+1); //2로 나누어 떨어지는 경우
if(i%3 == 0) d[i] = Math.min(d[i], d[i/3]+1); //3으로 나누어 떨어지는 경우
}
}
System.out.println(d[N]);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[JAVA]백준_2748_피보나치수2 (0) | 2021.03.24 |
---|---|
[JAVA]백준_9461_파도반 수열 (0) | 2021.03.24 |
[JAVA]백준_1149_RGB거리 (0) | 2021.03.24 |
[JAVA]백준_17129_윌리암슨수액빨이딱따구리가 정보섬에 올라온 이유 (0) | 2021.03.22 |
[JAVA]백준_2178_미로탐색 (0) | 2021.03.22 |