백준

백준 17626 - Java

으엉어엉 2024. 10. 19. 11:31
728x90

 

import java.util.Scanner;

public class BJ17626 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();//입력받을 수 입력.

        //동적할당 초기화
        int[] dp = new int[n+1];
        for (int i = 1; i <= n; i++) {
            dp[i] = i;
        }

        //계산
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j * j <= i; j++) {
                dp[i] = Math.min(dp[i], dp[i - j * j] + 1);
            }
        }
        System.out.println(dp[n]);
    }
}

 

동적프로그래밍으로 풀면 된다.

728x90

'백준' 카테고리의 다른 글

백준 1074 - Java  (0) 2024.10.21
백준 1260 - Java  (2) 2024.10.20
백준 9461 - Java  (1) 2024.10.19
백준 11659 - Java  (0) 2024.10.18
백준 2606 - Java  (0) 2024.10.18