C언어/문제은행
[7주차] 거스름돈
슈슈버거
2023. 7. 5. 17:34
문제

내가 작성한 코드
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
int coinnum, money;
scanf("%d %d", &coinnum, &money);
int coin[coinnum];
int result[coinnum];
for(int i = 0; i<coinnum; i++){
scanf("%d", &coin[i]);
result[i] = 0;
}
for(int i = 0; i<coinnum; i++){
if(money == 0){
break;
}
int num = 0;
while(1){
if((coin[i] * num) > money){
num--;
break;
}
else if((coin[i] * num) == money){
break;
}
else{
num++;
}
}
money -= coin[i] * num;
result[i] = num;
}
for(int i = 0; i<coinnum; i++){
printf("%d\n", result[i]);
}
return 0;
}
동전을 저장해주는 int형 배열을 썼다
반복문을 통해 비싼 돈부터 차례대로 계산하게 해주었다.
반복문 내에서 동전의 개수, 개수를 곱한 금액, 그 금액을 뺀 나머지 거스름돈을 알 수 있다.