본문 바로가기

알고리즘 풀이

백준 9084번 동전

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



#include <iostream>
using namespace std;
int T;
int n;
int process() {
int coin[21] = {0, };
int dp[10001] = {0, };
int money = 0;
int ret = 0;
scanf("%d", &n); // 동전의 갯수
for (int i = 0; i < n; ++i) {
scanf("%d", &coin[i]);
}
scanf("%d", &money); // 만들어야 할 금액
dp[0] = 1;
for (int i = n - 1; i >= 0; --i) {
int curCoin = coin[i];
for (int j = curCoin ; j <= money ; j++) {
dp[j] = dp[j] + dp[j - curCoin];
}
}
return dp[money];
}
int main()
{
scanf("%d", &T);
for (int i = 0 ; i < T; ++i) {
printf("%d\n", process());
}
return 0;
}


'알고리즘 풀이' 카테고리의 다른 글

백준 6359번 만취한 상범  (0) 2018.02.07
백준 2302번 극장 좌석  (0) 2018.02.02
백준 10942번 팰린드롬?  (0) 2018.01.22
백준 6603번 로또  (0) 2018.01.15
백준 1987번 알파벳  (0) 2018.01.10