import java.io.BufferedReader;
import java.io.InputStreamReader;
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());
minCount = new int[n+1];
System.out.println(makeOne(n));
}
private static int[] minCount;
private static int makeOne(int n) {
if(n <= 1 || minCount[n] != 0) return minCount[n];
if(n%6 == 0) {
return minCount[n] = Math.min(makeOne(n/3), makeOne(n/2)) + 1;
}
if(n%3 == 0) {
return minCount[n] = Math.min(makeOne(n/3), makeOne(n-1)) + 1;
}
else if(n%2 == 0) {
return minCount[n] = Math.min(makeOne(n/2), makeOne(n-1)) + 1;
}
return minCount[n] = makeOne(n-1) + 1;
}
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] RGB거리 1149번 -java (0) | 2021.11.07 |
---|---|
[백준] 파도반 수열 9461번 - java (0) | 2021.11.07 |
[백준] 신나는 함수 실행 - java (0) | 2021.11.06 |
[백준] N과 M (4) 15652번 - java (0) | 2021.11.06 |
[백준] N과 M (3) 15651번 - java (0) | 2021.11.06 |