WjExplor Story

거스름돈 계산기 본문

Python/Python : Code Study

거스름돈 계산기

더블유제이플로어 2025. 7. 29. 13:47

실습 설명

거스름돈을 계산하는 코드를 작성하려고 합니다. 예를 들어 33,000원짜리 물건을 사기 위해 100,000원을 냈다면 67,000원을 거슬러줘야 합니다.

각 지폐가 충분히 있다면 일반적으로 다음과 같이 거슬러 줍니다

  • 50,000원 지폐: 1장
  • 10,000원 지폐: 1장
  • 5,000원 지폐: 1장
  • 1,000원 지폐: 2장

그 과정을 살펴보면 아래와 같습니다.

  1. 먼저 50,000원권 1장을 거슬러주면 67,000 - 50,000 = 17,000원이 남습니다.
  2. 남은 17,000원에 한해 10,000원권 1장을 거슬러주면 17,000 - 10,000 = 7,000원이 남습니다.
  3. 남은 7,000원에 한해 5,000원권 1장을 거슬러주면 2,000원이 남습니다.
  4. 남은 2,000원에 한해 1,000원권 2장을 거슬러주면 거스름돈을 다 돌려주게 됩니다.

이와 같은 방식으로 특정 가격의 물건을 사고, 금액을 지불했을 때 '가장 적은 수'의 지폐를 거슬러 주는 calculate_change() 함수를 작성하려고 합니다. 이 함수는 지불한 금액을 나타내는 payment와 물건의 가격을 나타내는 cost를 파라미터로 받습니다. 코드잇 실행기의 caculate_change() 함수를 완성해 주세요.

출처 : 코드잇 

def calculate_change(payment , cost):
    FIFTY_THOUSAND = 50000
    TEN_THOUSAND = 10000
    FIVE_THOUSAND = 5000
    ONE_THOUSAND = 1000
    
    
    change = payment - cost # 거스름돈 총 액
    
    
    fifty_count = change // FIFTY_THOUSAND
    ten_count = (change % FIFTY_THOUSAND) // TEN_THOUSAND
    five_count = (change % TEN_THOUSAND) // FIVE_THOUSAND
    one_count = (change % FIVE_THOUSAND) // ONE_THOUSAND
    
    
    # 출력
    print(str(FIFTY_THOUSAND)+"원 지폐: {}장".format(fifty_count))
    print(str(TEN_THOUSAND)+"원 지폐: {}장".format(ten_count))
    print(str(FIVE_THOUSAND)+"원 지폐: {}장".format(five_count))
    print(str(ONE_THOUSAND)+"원 지폐: {}장".format(one_count))
    

# 테스트 코드
calculate_change(100000, 33000)
print()
calculate_change(500000, 378000)

 

'Python > Python : Code Study' 카테고리의 다른 글

택이의 우승 상금  (5) 2025.07.29
구구단 만들기 (while문)  (0) 2025.07.29
이상한 수학 문제 I, II , 약수 찾기  (0) 2025.07.29
학점 계산기  (0) 2025.07.29
while 반복문 실습 I , II  (0) 2025.07.29