알고리즘/백준

[백준 9084] 동전 (C++)

겜도리도리 2021. 9. 27. 23:34
반응형

문제

백준 9084 C++

 

9084번: 동전

우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는

www.acmicpc.net

풀이

 

소스 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
 
int dp[10001];
int main() {
    int t;
    cin >> t;
    while (t > 0) {
        // 입력
        int n;
        cin >> n;
        vector<int> v;
        for (int i = 0; i < n; i++) {
            int coin;
            cin >> coin;
            v.push_back(coin);
        }
        int M;
        cin >> M;
        // 초기화
        memset(dp, 0sizeof(dp));
        dp[0= 1;
        // 점화식 계산
        for (int i = 0; i < v.size(); i++) {
            for (int j = v[i]; j <= M; j++) {
                dp[j] = dp[j] + dp[j - v[i]];
            }
        }
        cout << dp[M] << '\n';
        t--;
    }
    return 0;
}
cs
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 17471] 게리맨더링 C++  (0) 2021.09.29
[백준 2668] 숫자고르기 C++  (0) 2021.09.28
[백준 2981] 검문 C++  (0) 2021.09.26
[백준 14226] 이모티콘 C++  (0) 2021.09.26
[백준 2631] 줄세우기 C++  (0) 2021.09.25