PS/Baekjoon Online Judge

[백준 11047] 동전 0 [C]

kimyoungrok 2021. 8. 9. 00:10

백준 - 11047


풀이

가치가 가장 큰 동전부터 K이하일 때 하나씩 빼주고 횟수를 세주면 된다.


소스코드

#include <stdio.h>
int main(){
    int N, K;
    scanf("%d %d", &N, &K);
    int coin[N];
    for (int i = 0; i < N; i++)
        scanf("%d", &coin[i]);
    int cnt = 0, idx = N-1;
    while (K)
        if (K < coin[idx]) idx--;
        else {
            K -= coin[idx];
            cnt++;
        }
    printf("%d", cnt);
}

출처

 

11047번: 동전 0

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

www.acmicpc.net