[BaekJoon] 백준 11052 카드 구매하기
문제: https://www.acmicpc.net/problem/11052
내코드
-DP 문제였다.
주어진 문제에 따르면 점화식은 아래와 같다.
카드 N개를 구매할 때 최대 비용 = MAX(i=1~N)(카드 i개 들어있는 카드팩 구매하는 비용 + 카드 N-i개 들어있는 카드팩 구매하는 비용)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] result = new int[N+1];
int[] prices = new int[N+1];
for (int i = 1; i <= N; i++) {
prices[i] = sc.nextInt();
}
for (int i=1;i <= N; i++) {
for (int j=1;j <= i; j++) {
result[i] = Math.max(prices[j] + result[i-j], result[i]);
}
}
System.out.println(result[N]);
sc.close();
}
}
728x90
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[BaekJoon] 백준 1915번 가장 큰 정사각형 (0) | 2021.08.21 |
---|---|
[BaekJoon] 백준 9084번 동전 (0) | 2021.08.20 |
[BaekJoon] 백준 2011번 암호코드 (0) | 2021.08.18 |
[BaekJoon] 백준 14719 빗물 (0) | 2021.08.07 |
[BaekJoon] 백준 1913번 달팽이 (0) | 2021.08.07 |