반응형
16194번: 카드 구매하기 2
첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000)
www.acmicpc.net
이전 문제와 동일한 방식이고 int형 배열은 0으로 초기화 되기 때문에 index 0을 제외한 나머지 값들을 나올 수 있는 최대 값들로 초기화 해줍니다.
1000 * 10000
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] P = new int[N + 1];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 1; i <= N; i++)
P[i] = Integer.parseInt(st.nextToken());
int[] D = new int[N + 1];
Arrays.fill(D, 1000 * 10000);
D[0] = 0;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= i; j++)
D[i] = Math.min(D[i], D[i-j] + P[j]);
System.out.print(D[N]);
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 2193번 이친수 [ Java ] (0) | 2021.04.03 |
---|---|
백준 15990번 1, 2, 3 더하기 5 [ Java ] (0) | 2021.04.02 |
백준 11052번 카드 구매하기 [ Java ] (0) | 2021.04.02 |
백준 9095번 1, 2, 3 더하기 [ Java ] (0) | 2021.04.01 |
백준 11727번 2×n 타일링 2 [ Java ] (0) | 2021.04.01 |