Lewis's Tech Keep
[백준] 1로 만들기 본문
- 간단한 dp 문제
- 하지만 못 품
- 필요 아이디어
- dp[i] => i의 숫자의 경우에 필요한 최소 단계 수
더보기
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int[] dp = new int[a+1];
dp[1] = 0;
for(int i=2; i<=a; i++) {
dp[i] = dp[i-1] + 1;
if(i%2 == 0) dp[i] = Math.min(dp[i], dp[i/2] + 1);
if(i%3 == 0) dp[i] = Math.min(dp[i], dp[i/3] + 1);
}
System.out.println(dp[a]);
}
}
'Java > 알고리즘' 카테고리의 다른 글
[백준] 계단 오르기 (0) | 2021.03.05 |
---|---|
[백준] 1, 2, 3 더하기 (0) | 2021.03.05 |
[프로그래머스] 정수 삼각형 (0) | 2021.02.25 |
[프로그래머스] 도둑질 (0) | 2021.02.24 |
[프로그래머스] 2xn 타일링 (0) | 2021.02.23 |
Comments