1. 문제 상세
https://www.acmicpc.net/problem/2720
2. 문제 접근
입력받은 5달러 이하의 금액을 해당 금액에 맞는 개수의 동전으로 바꾸자. (1달러 = 100센트)
거스름돈을 25로 나눈 몫을 출력한다. 그리고 그 몫에 25를 곱한 값을 거스름돈에서 뺀다.
거스름돈을 10으로 나눈 몫을 출력한다. 그리고 그 몫에 10을 곱한 값을 거스름돈에서 뺀다.
거스름돈을 5로 나눈 몫을 출력한다. 그리고 그 몫에 5를 곱한 값을 거스름돈에서 뺀다.
거스름돈을 1로 나눈 몫을 출력한다. 그리고 그 몫에 1을 곱한 값을 거스름돈에서 뺀다.
3. 문제 풀이
#include <iostream>
using namespace std;
int main() {
int t, c, coin[4] = {25, 10, 5, 1};
cin >> t;
for(int i = 0; i < t; i++) {
cin >> c;
for(int j = 0; j < 4; j++) {
cout << c / coin[j] << " ";
c -= (c / coin[j]) * coin[j];
}
cout << endl;
}
}
정수형 변수 t 와 c, 크기가 4이고 25, 10, 5, 1을 원소로 가지는 배열 coin 을 선언한다.
cin 으로 정수(테스트 횟수)를 입력받아 t 에 저장한다.
for문으로 i 가 0부터 t 보다 작을 때 1씩 더하며 반복하도록 한다.
cin 으로 정수(거스름돈)를 입력받아 c 에 저장한다.
for문으로 j 가 0부터 4보다 작을 때 1씩 더하며 반복하도록 한다.
cout 으로 c 의 값을 coin 의 j 번 인덱스의 값으로 나눈 몫을 출력한다.
c 에서 c 를 coin 의 j 번 인덱스의 값으로 나눈 몫에 coin 의 j 번 인덱스의 값을 곱한 값을 뺀다.
반복이 끝나면 개행문자를 출력한다.
4. 성능 확인
5. 마무리
.
'백준 - 단계별로 풀어보기 > 일반 수학 1' 카테고리의 다른 글
[백준] 1193번 : 분수찾기 | C++ (0) | 2023.10.18 |
---|---|
[백준] 2292번 : 벌집 | C++ (0) | 2023.10.18 |
[백준] 2903번 : 중앙 이동 알고리즘 | C++ (0) | 2023.10.18 |
[백준] 11005번 : 진법 변환 2 | C++ (0) | 2023.10.13 |
[백준] 2745번 : 진법 변환 | C++ (0) | 2023.10.13 |