반응형
문제 |
소스 |
import java.util.Scanner;
public class Main {
static int N,K;
static int coin[], dp[];
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
K = sc.nextInt();
coin = new int[N+1];
dp = new int[K+1];
for (int i=1; i<=N; i++) {
coin[i] = sc.nextInt();
}
dp[0] = 1;
for (int i=1; i<=N; i++) {
for (int j=0; j<=K; j++) {
if(j-coin[i] >= 0) {
dp[j] = dp[j] + dp[j - coin[i]];
}
}
}
System.out.println(dp[K]);
}
}
출처 |
https://www.acmicpc.net/problem/2293
반응형
'알고리즘 > JAVA' 카테고리의 다른 글
[JAVA] 백준 알고리즘 1149 RGB거리 (0) | 2019.04.23 |
---|---|
[JAVA] 백준 알고리즘 2839 : 설탕 배달 (0) | 2018.10.11 |
[JAVA] 백준 알고리즘 2156 : 포도주 (DP) (0) | 2018.10.11 |
[JAVA] 백준 알고리즘 1912 : 연속합 (DP) (0) | 2018.10.10 |
[JAVA] 백준 알고리즘 1920 : 수 찾기 (0) | 2018.09.20 |