728x90
300x250
https://www.acmicpc.net/problem/1463
<백준 1463번: Java코드>
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
//System.setIn(new FileInputStream("Test.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int X = Integer.parseInt(br.readLine());
int dp[] = new int[X + 1];// dp[x]: x를 만들기 위한 연산 최솟값
for (int i = 2; i <= X; i++) {
dp[i] = Math.min(i % 3 == 0 ? dp[i / 3] + 1 : dp[i - 1] + 1,
Math.min(i % 2 == 0 ? dp[i / 2] + 1 : dp[i - 1] + 1, dp[i - 1] + 1));
}
System.out.println(dp[X]);
}
}
728x90
'알고리즘 > DP' 카테고리의 다른 글
백준 1309번: 동물원 [DP][다이나믹 프로그래밍] -Java (0) | 2024.03.26 |
---|---|
백준 11052번: 카드 구매하기 [DP][다이나믹 프로그래밍] -Java (0) | 2024.03.20 |
백준 11055번: 가장 큰 증가 부분 수열 [DP] - Java (0) | 2020.09.24 |
백준 11053번: 가장 긴 증가하는 부분 수열 [DP][LIS] - Java (0) | 2020.09.22 |
백준 2156번: 포도주 시식 [DP] - Java (0) | 2020.09.21 |