알고리즘 문제

[백준] 2293번 동전 1

feelcoding 2020. 3. 8. 21:07
728x90

https://www.acmicpc.net/problem/2293

 

2293번: 동전 1

첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.

www.acmicpc.net

#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n, k;
	cin >> n >> k;
	vector<int> coin(n);
	coin = vector<int>(n);
	for (int i = 0; i < n; i++) {
		cin >> coin[i];
	}
	vector<int> dp(k + 1, 0);
	dp[0] = 1;
	for (int i = 0; i < n; i++) {
		for (int j = 1; j <= k; j++) {
			if (j >= coin[i]) {
				dp[j] = dp[j] + dp[j - coin[i]];
			}
		}
	}
	cout << dp[k];
	return 0;
}
728x90