https://www.acmicpc.net/problem/1463
메모리 : 9696 KB
시간 : 120 MS
코드길이 : 851 B
-------------------------------------------------
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
findNum(input);
}
public static void findNum(int n) {
int[] array = new int[n+1];
switch(n) {
default :
array[3] = 1;
case 2 :
array[2] = 1;
case 1 :
array[1] = 0;
break;
}
for (int i=4; i<n+1; i++) {
int value = 0;
if (i%3 == 0) {
value = array[i/3] + 1;
}
if (i%2 ==0) {
value = getMinValue(value, array[i/2] + 1);
}
value = getMinValue(value, array[i-1] + 1);
array[i] = value;
}
System.out.println(array[n]);
}
public static int getMinValue(int value, int temp) {
if (value == 0) {
return temp;
}
return value < temp ? value : temp;
}
}
'코딩 테스트 > 백준(java)' 카테고리의 다른 글
Q14891번: 톱니바퀴 (0) | 2021.03.20 |
---|---|
Q14890: 경사로 (0) | 2021.03.20 |
백준 2193) 이친수 (0) | 2017.09.16 |
백준 1149) RGB거리 (0) | 2017.09.16 |
백준 1003) 피보나치 함수 (0) | 2017.09.16 |