728x90
반응형
https://www.acmicpc.net/problem/2720
https://ye5ni.tistory.com/69 ===> 참고(비슷한 유형)
문제의 접근 방법
- 거스름돈 C원은 정수로 이루어져 있고 단위가 센트(1달러 = 100센트)이기 때문에 쿼터, 다임, 니켈, 페니도 같은 단위로 바꾸어주기
- 각 동전의 단위가 몇 개씩 쓰여야하는지 확인하기 위해 초기 값을 0으로 설정해두기
- C원을 25(쿼터), 10(다임), 5(니켈), 1(페니)순으로 나눈 몫을 갯수에 카운트하고 그 나머지를 그 다음으로 작은 단위로 또 나눠주는 과정을 4번 반복하기
- 동전의 가치는 내림차순 정렬하기(최소 개수를 구하기 위해서)
문제 풀이 방법
테스트 케이스 T개 입력받기 -> T개 만큼 반복문을 돌려 거스름돈 C원 입력받기 -> 쿼터(q), 다임(d), 니켈(n), 페니(p)의 초기 값을 0으로 선언해주기 -> 단위가 큰 쿼터(q)부터 입력받은 거스름돈 C원을 나눈 몫을 q에 저장하고 다시 그 나머지를 C에 저장하기 -> 앞 과정을 동전의 가치의 개수(4개)만큼 반복해서 거슬러주는 데에 쓰인 q, d, n, p 동전의 개수를 각각 출력해주기!
소스코드
T = int(input())
for _ in range(T):
C = int(input())
q = d = n = p =0
q = C // 25
C %= 25
d = C // 10
C %= 10
n = C // 5
C %= 5
p = C // 1
C %= 1
print(q, d, n, p)
728x90
반응형
'백준 write-up > 정렬 & 그리디' 카테고리의 다른 글
[백준] 폴리오미노 : 1343번 - Python (0) | 2021.08.10 |
---|---|
[백준] 게임을 만든 동준이 : 2847번 - Python (0) | 2021.08.09 |
[백준] 뒤집기 : 1439번 - Python (0) | 2021.08.09 |
[백준] 동전 0 : 11047번 - Python (0) | 2021.08.09 |
[백준] 전자레인지 : 10162번 - Python (0) | 2021.08.04 |