C로 구현한 2720번 세탁소 사장 동혁 문제 풀이입니다.
https://www.acmicpc.net/problem/2720
#include <stdio.h>
int main() {
int t, arr[]={25, 10, 5, 1}, count[4] = {0,};
int c;
scanf("%d", &t);
for(int i=0; i<t; i++) {
scanf("%d", &c);
for(int j=0; j<4; j++) {
while(c >= arr[j]) {
c -= arr[j];
count[j] ++;
}
if(c == 0) {
break;
}
}
for(int j=0; j<4; j++) {
printf("%d ", count[j]);
count[j] = 0;
}
printf("\n");
}
}
배열 arr 에 각 0.25달러, 0.10달러, 0.05달러, 0.01달러를 각각 센트단위로 저장하고 결과적으로 필요한 쿼터의 개수,
다임의 개수, 니켈의 개수, 페니의 개수를 담을 count배열 또한 선언한다.
반복문 내에서는 각 센트에 대하여 남은 거스름돈이 더 클 경우 거스름돈에서 해당 인덱스 값을 빼고
해당 인덱스 값의 count를 증가시킨다.
남은 거스름돈이 0 일 경우 반복문을 빠져나와 최종적으로 쿼터, 다임, 니켈, 페니의 개수를 출력한다.
'백준(C언어) 풀이 > 그리디(Greedy) 알고리즘' 카테고리의 다른 글
백준(C) 10162번 전자레인지 풀이 (0) | 2021.08.18 |
---|---|
백준(C) 14659번 한조서열정리하고옴ㅋㅋ 풀이 (0) | 2021.08.18 |
백준(C) 2437번 저울 풀이 (0) | 2021.08.06 |
백준(C) 2217번 로프 풀이 (0) | 2021.08.03 |
백준(C++) 2217번 로프 풀이 (0) | 2021.08.03 |