[ 문제 ]
'가장 적은 수'의 지폐를 거슬러 주는 거스름돈 계산 프로그램을 만들려고 합니다.
우리는 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의 배수이기 때문이다.
'✏️ STUDY > 📍 coding' 카테고리의 다른 글
[Python 기초] 5. For 반복문 (0) | 2022.11.23 |
---|---|
[Python 기초] 4. 리스트 (0) | 2022.11.22 |
[Python 기초] 문제 2. 피보나치 수열 (0) | 2022.11.20 |
[Python 기초] 문제 1. 이상한 수학 문제 (0) | 2022.11.13 |
[Python 기초] 3. 제어문 (0) | 2022.11.12 |