Hueestory

[11047] 동전 0 (C++) 본문

PS(중단)/BOJ

[11047] 동전 0 (C++)

히명 2024. 5. 13. 15:15
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int N, K;
    cin >> N >> K;
    vector<int> coin(N);

    for (int i = 0; i < N; i++)
        cin >> coin[i];

    sort(coin.begin(), coin.end(), greater<int>());

    int sum = 0, cnt = 0;

    for (int i = 0; i < N; i++) {
        if (sum >= K) break;
        if (sum + coin[i] > K) continue;
        int numcoins = (K - sum) / coin[i];
        sum += numcoins * coin[i];
        cnt += numcoins;
    }

    cout << cnt << "\n";

    return 0;
}

 

1. 동전의 개수 numcoins는 만들고자 하는 K원에서 현재까지의 동전의 합 sum원을 뺀 것을, 동전의 가치로 나눈 것

2. sum에는 동전의 개수와 해당 동전의 가치, cnt에는 동전의 개수를 더해준다

3. cnt를 출력

 

'PS(중단) > BOJ' 카테고리의 다른 글

[1744] 수 묶기 (C++)  (0) 2024.05.14
[1715] 카드 정렬하기 (C++)  (0) 2024.05.14
[1300] K번째 수 (C++)  (0) 2024.05.13
[2343] 기타 레슨 (C++)  (0) 2024.05.13
[1920] 수 찾기 (C++)  (0) 2024.05.07
Comments