본문 바로가기
코딩/cpp

[백준] 11047번

by 적막한숲 2025. 9. 25.

그리드 알고리즘을 이용해서 큰 수부터 계속 빼주는 방식으로 계산하면 된다.

 

지금 생각났지만 /를 이용하면 더 빠르게 구할 수 있을 듯하다. -> 이건 여러분이 해보시길

 

 

#include <iostream>


int main() {
    int n, k, count = 0;
    std::cin >> n >> k;
    int *coins = new int[n];

    for (int i = 0; i < n; i++) {
        std::cin >> coins[i];
    }

    while (k > 0) {
        for (int i = n-1; i > -1; i--) {
            while (k >= coins[i]) {
                k -= coins[i];
                count++;
            }
        }
    }

    std::cout<<count<<std::endl;

    return 0;
}

'코딩 > cpp' 카테고리의 다른 글

[백준] 17219번  (0) 2025.09.25
[백준] 11399번  (0) 2025.09.25
[백준] 14626번  (0) 2025.09.25
inline 함수에 대해  (0) 2025.09.15
CMake 학습 로드맵  (0) 2025.09.13