✏️ STUDY/📍 coding

[Python 기초] 문제 3. 거스름돈 계산기

나무울 2022. 11. 21. 09:00

 

 

[ 문제 ]

'가장 적은 수'의 지폐를 거슬러 주는 거스름돈 계산 프로그램을 만들려고 합니다.

 

우리는 calculate_change라는 함수를 작성하려고 하는데요.
이 함수는 지불한 금액을 나타내는 payment와 물건의 가격을 나타내는 cost를 파라미터로 받습니다.

 


 

[ 정답 코드 ]

def calculate_change(payment, cost):
    change = payment - cost  # 거스름돈 총액

    fifty_count = change // 50000  # 50,000원 지폐
    ten_count = (change % 50000) // 10000  # 10,000원 지폐
    five_count = (change % 10000) // 5000  # 5,000원 지폐
    one_count = (change % 5000) // 1000  # 1,000원 지폐

    # 답 출력
    print("50000원 지폐: {}장".format(fifty_count))
    print("10000원 지폐: {}장".format(ten_count))
    print("5000원 지폐: {}장".format(five_count))
    print("1000원 지폐: {}장".format(one_count))

 


 

[ 보충 설명 ]

  • 의미 있는 변수 이름을 사용해야 한다.
  • 몇 장을 거슬러 줘야 할까? 버림 나눗셈(//) 사용
  • 거슬러 주고 얼마가 남았을까? 나머지 연산(%) 사용
  • 만약 50,000원과 10,000원을 최대한 거슬러 주고 남은 금액은 뭘까?
    → 단순하게 생각하면 change % 50000 % 10000
     조금만 머리를 굴려 보면 이게 change % 10000과 같다는 걸 알 수 있다. 50,000은 10,000의 배수이기 때문이다.