백준
[백준] 2720번 : 세탁소 사장 동혁 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 10. 16. 15:44
728x90
반응형
2720번: 세탁소 사장 동혁
각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다.
www.acmicpc.net
1. 문제 설명
2. 풀이과정
해당 문제는 각 거스름돈을 최소한의 동전 개수로 거슬러 주어야 하는 문제이다.
각 동전은 달러로 단위가 표시되어 있지만, 입력으로 받아지는 거스름돈의 단위는 센트이다.
하여 각 동전의 단위를 센트로 바꾸어 저장해 두고, 동전의 개수를 최소한으로 줘야 하므로 큰 금액부터 개수를 구한다.
큰 금액의 동전부터 거슬러줄 동전의 개수를 출력하고, 남은 금액을 새로 저장한다.
이 행동을 마지막 동전까지 반복하면 된다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 테스트 케이스의 개수를 입력받는다. T = int(sys.stdin.readline())
- 각 동전의 단위를 센트로 바꾸어 리스트에 저장한다. money = [25, 10, 5, 1]
- 테스트 케이스만큼 반복하며 for _ in range(T)
- 거스름돈의 금액을 센트로 입력받는다. C = int(sys.stdin.readline())
- 각 동전을 큰 금액부터 하나씩 불러오며 for i in money
- 거스름돈을 해당 동전의 금액으로 나눈 몫을 출력하고 공백을 출력한다. print(C // i, end=' ')
- 거스름돈을 해당 동전의 금액으로 나눈 나머지로 다시 저장한다. C %= i
- 모든 동전의 개수를 출력했다면 줄 바꿈을 한다. print()
반응형
3. 소스코드
import sys
T = int(sys.stdin.readline())
money = [25, 10, 5, 1]
for _ in range(T):
C = int(sys.stdin.readline())
for i in money:
print(C // i, end=' ')
C %= i
print()
728x90
반응형