(JAVA) 백준온라인 11052번 - 카드 구매하기

2023. 9. 12. 16:54백준온라인

DP문제는 역시 점화식을 잘 세우는게 관건인 것 같다 근데 난 그걸 못한다.. ㅜㅠ 해보다가 잘 안되어서 결국 힌트를 얻고 코드도 보면서 풀었다.

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int[] p = new int[n + 1];
        int[] dp = new int[n + 1];

        for (int i = 1; i <= n; i++) {
            int num = sc.nextInt();
            p[i] = num;
        }

        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                dp[i] = Math.max(dp[i], p[j] + dp[i - j]);
            }
        }
        System.out.println(dp[n]);


    }


}

열심히 하자