jyamethyst21 님의 블로그

프로그래머스 - '옷가게 할인 받기' (PYTHON 풀이) 본문

CODING 💻

프로그래머스 - '옷가게 할인 받기' (PYTHON 풀이)

jyamethyst21 2026. 6. 3. 14:24

문제:

 

10만원 이상 사면 5%, 30만원 이상 사면 10%, 50만원 이상 사면 20%를 할인해줄 때, 지불할 금액에 대한 할인가를 제외하고 나머지 실제 지출 금액을 리턴하는 문제이다.

 

풀이:

def solution(price):
    if price >= 500000:
        return int(price * 0.8)
    elif price >= 300000:
        return int(price * 0.9)
    elif price >= 100000:
        return int(price * 0.95)
    else:
        return price

 

할인이 적용되는 기준 금액을 기준으로 if문을 사용하면 간단하게 풀 수 있다.

500,000원 이상일 경우 20%의 할인율이므로 0.8을 곱한 뒤 정수 형태로 반환하고, 300,000원 이상일 경우 10% 할인율이므로 0.9를 곱한 뒤 정수 형태로 반환하였다. 마지막으로 100,000원 이상일 경우 5%의 할인율이므로 0.95를 곱한 뒤 정수 형태로 반환하였다.

그리고 상기 할인율에 해당하지 않은 가격은 그냥 가격 그대로 출력하는 로직이다.

 

문제를 풀 때 주의할 점은 금액이 큰 것부터 조건을 넣어야 한다는 점이다. 100,000원부터 조건문을 넣게 되면 500,000원 이상의 가격이라 하더라도 100,000원 이상에 해당되므로 5%의 할인율만 적용된 값이 리턴될 것이다. 이를 유념하여 문제를 풀면 된다.