Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4ce6917

Browse files
committed
issue #43 1463 1๋กœ ๋งŒ๋“ค๊ธฐ
1 parent d29adf0 commit 4ce6917

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

โ€Žsrc/backjoon/_1463.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package backjoon;
2+
// https://www.acmicpc.net/problem/1463
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
7+
public class _1463 {
8+
9+
static Integer[] dp;
10+
11+
public static void main(String[] args) throws IOException {
12+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
13+
14+
int N = Integer.parseInt(br.readLine());
15+
16+
dp = new Integer[N+1];
17+
dp[0] = dp[1] = 0;
18+
19+
System.out.println(makeOne(N));
20+
}
21+
22+
static int makeOne(int n){
23+
if(dp[n] == null){
24+
// 6์œผ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ๊ฒฝ์šฐ
25+
if(n%6 == 0){
26+
dp[n] = Math.min(makeOne(n-1), Math.min(makeOne(n/3), makeOne(n/2))) + 1;
27+
}
28+
// 3์œผ๋กœ๋งŒ ๋‚˜๋ˆ ์ง€๋Š” ๊ฒฝ์šฐ
29+
else if(n%3 == 0){
30+
dp[n] = Math.min(makeOne(n/3), makeOne(n-1))+1;
31+
}
32+
// 2๋กœ๋งŒ ๋‚˜๋ˆ ์ง€๋Š” ๊ฒฝ์šฐ
33+
else if(n%2 == 0){
34+
dp[n] = Math.min(makeOne(n/2), makeOne(n-1))+1;
35+
}
36+
// ๋นผ๊ธฐ 1๋กœ๋งŒ ๋˜๋Š” ๊ฒฝ์šฐ
37+
else{
38+
dp[n] = makeOne(n-1)+1;
39+
}
40+
}
41+
return dp[n];
42+
}
43+
}
44+
/*
45+
input
46+
10
47+
48+
output
49+
3
50+
*/

0 commit comments

Comments
ย (0)