문제 설명

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

 

제한사항

  • 10 ≤ price ≤ 1,000,000
    • price는 10원 단위로(1의 자리가 0) 주어집니다.
  • 소수점 이하를 버린 정수를 return 합니다.

 

입출력 예

price result
150,000 142,500
580,000 464,000

 

내 풀이

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

 

회고

  • 소수점 이하를 버린 정수가 답이 되기 때문에 int 함수를 입혔다.
  • 처음에 elif price >= 300000, else까지만 짰을 때 정확성 테스트 통과가 안 돼서 킹받았었는데, 생각해보니까 elif price >= 100000 까지 다 써줘야 하더라.
  •  int(answer) 로 썼으면 마지막 줄에 하나만 써줘도 됐을 듯.

 

 

 

복사했습니다!