본문 바로가기
백준

[백준] 2720번 : 세탁소 사장 동혁 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 10. 16.
728x90
반응형

 

 

2720번: 세탁소 사장 동혁

각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다.

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

해당 문제는 각 거스름돈을 최소한의 동전 개수로 거슬러 주어야 하는 문제이다.

각 동전은 달러로 단위가 표시되어 있지만, 입력으로 받아지는 거스름돈의 단위는 센트이다.

하여 각 동전의 단위를 센트로 바꾸어 저장해 두고, 동전의 개수를 최소한으로 줘야 하므로 큰 금액부터 개수를 구한다.

큰 금액의 동전부터 거슬러줄 동전의 개수를 출력하고, 남은 금액을 새로 저장한다.

이 행동을 마지막 동전까지 반복하면 된다.

 

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. 테스트 케이스의 개수를 입력받는다. T = int(sys.stdin.readline())
  3. 각 동전의 단위를 센트로 바꾸어 리스트에 저장한다. money = [25, 10, 5, 1]
  4. 테스트 케이스만큼 반복하며 for _ in range(T)
  5. 거스름돈의 금액을 센트로 입력받는다. C = int(sys.stdin.readline())
  6. 각 동전을 큰 금액부터 하나씩 불러오며 for i in money
  7. 거스름돈을 해당 동전의 금액으로 나눈 몫을 출력하고 공백을 출력한다. print(C // i, end=' ')
  8. 거스름돈을 해당 동전의 금액으로 나눈 나머지로 다시 저장한다. C %= i
  9. 모든 동전의 개수를 출력했다면 줄 바꿈을 한다. 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
반응형