반응형
주어진 기본 코드
def calculate_change(payment, cost):
# 코드를 작성하세요.
# 테스트
calculate_change(100000, 33000)
print()
calculate_change(500000, 378000)
내가 푼 코드
def calculate_change(payment, cost):
# 코드를 작성하세요.
fifty_thousand = 50000
ten_thousand = 10000
five_thousand = 5000
one_thousand = 1000
rest = payment - cost # 나머지금액
fifty_thousand_rest = rest // fifty_thousand
ten_thousand_rest = (rest % fifty_thousand) // ten_thousand
five_thousand_rest = ((rest % fifty_thousand) % ten_thousand) // five_thousand
one_thousand_rest = (((rest % fifty_thousand) % ten_thousand) % five_thousand) // one_thousand
print("50000원 지폐: {}장".format(fifty_thousand_rest))
print("10000원 지폐: {}장".format(ten_thousand_rest))
print("5000원 지폐: {}장".format(five_thousand_rest))
print("1000원 지폐: {}장".format(one_thousand_rest))
# 테스트
calculate_change(100000, 33000)
print()
calculate_change(500000, 378000)
모범 답안
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))
굳이 누적시킬 필요는 없다.
어차피 10000원권 안에 50000권이 속해있음
반응형
'● 알고리즘, 자료구조 > 2021 알고리즘' 카테고리의 다른 글
100이하, 8의 배수이지만 12의 배수가 아닌 것 (31) | 2021.05.27 |
---|---|
while 문, 23의 배수 | 조건문 쓰지 말 것 (0) | 2021.05.27 |
함수에서 print, return의 차이는? (31) | 2021.05.24 |
3. 메서드, 함수란? (0) | 2021.05.18 |
[파이썬을 이용한 데이터베이스 처리] 2. 클래스란? 인스턴스란? (0) | 2021.05.18 |