Level 0. 옷가게 할인 받기

reggias·2022년 11월 29일
0

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120818

문제

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

풀이

def solution(price):
    if 100000 <= price < 300000:
        result = price * ((100 - 5)/100)
    elif 300000 <= price < 500000:
        result = price * ((100 - 10)/100)
    elif 500000 <= price <= 1000000:
        result = price * ((100 - 20)/100)
    else:
        result = price
    return round(result)


print(solution(130000))

다른 사람 풀이

def solution(price):
    discount_rates = {500000: 0.8, 300000: 0.9, 100000: 0.95, 0: 1}
    for discount_price, discount_rate in discount_rates.items():
        if price >= discount_price:
            return int(price * discount_rate)

느낀점

  • items() 매소드로 딕셔너리에 있는 키와 값들의 쌍을 얻을 수 있다는 것
profile
sparkle

0개의 댓글