728x90
🔗 Problem Link
2720번: 세탁소 사장 동혁
각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다.
www.acmicpc.net
❔Thinking
- 25, 10, 5, 1 의 동전으로 거스름돈을 준다.
- 최소한의 동전 사용을 위해 가장 큰 단위부터 주는 방식을 택한다.
💻Solution
import sys
input = sys.stdin.readline
T = int(input())
coins = [25, 10, 5, 1]
for _ in range(T):
result = [0, 0, 0, 0]
C = int(input())
i = 0
while C > 0:
if C >= coins[i]:
result[i] = C // coins[i]
C = C % coins[i]
i += 1
print(' '.join(map(str, result)))
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
n = int(input())
Quarter, n = divmod(n, 25)
Dime, n = divmod(n, 10)
Nickel, n = divmod(n, 5)
Penny = n
print(Quarter, Dime, Nickel, Penny)
🗝️keypoint
- divmod(a,b)는 a를 b로 나눈 몫과 나머지를 tuple 형태로 반환한다.
- 잔돈은 큰 단위부터 나누어갈 때, 잔돈과 단위 동전의 금액이 같은 경우도 나눈다. (C >= coins[i])
'코딩테스트 > Python' 카테고리의 다른 글
[Programmers] Level 2. 점 찍기 (0) | 2024.03.29 |
---|---|
[Baekjoon] 24267. 알고리즘 수업 - 알고리즘의 수행 시간 6 (0) | 2024.03.04 |
[Baekjoon] 2745. 진법 변환 (0) | 2024.03.01 |
[LeetCode] 55. Jump Game (0) | 2023.12.04 |
[LeetCode] 189. Rotate Array (1) | 2023.11.28 |