문제
내가 작성한 코드
#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형 배열을 썼다
반복문을 통해 비싼 돈부터 차례대로 계산하게 해주었다.
반복문 내에서 동전의 개수, 개수를 곱한 금액, 그 금액을 뺀 나머지 거스름돈을 알 수 있다.
'C언어 > 문제은행' 카테고리의 다른 글
[8주차] 2차원 배열 입출력 (0) | 2023.07.17 |
---|---|
[7주차] 배열 정렬 (0) | 2023.07.05 |
[7주차] 두 문자열 비교 함수 (0) | 2023.07.05 |
[4주차] 사다리꼴 출력 (0) | 2023.04.22 |
[3주차] Java 스타일로 C에서 iteration 함수 만들기 (0) | 2023.04.19 |