풀이
가치가 가장 큰 동전부터 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);
}
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 1676] 팩토리얼 0의 개수 [C] (0) | 2021.08.09 |
---|---|
[백준 2293] 동전 1 [C] (0) | 2021.08.09 |
[백준 10993] 별 찍기 - 18 [C] (0) | 2021.08.08 |
[백준 11727] 2×n 타일링 2 [C] (0) | 2021.08.08 |
[백준 18870] 좌표 정렬 [C/C++] (0) | 2021.08.08 |