Lewis's Tech Keep

[백준] 1로 만들기 본문

Java/알고리즘

[백준] 1로 만들기

Lewis Seo 2021. 3. 4. 21:35

- 간단한 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