[코딩 테스트 연습 입문] 옷가게 할인 받기

2022. 12. 23. 23:31code/[프로그래머스] python

문제

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

 

❗제한사항

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

  • 150,000원에서 5%를 할인한 142,500원을 return 합니다.

입출력 예 #2

  • 580,000원에서 20%를 할인한 464,000원을 return 합니다.

 

✔풀이

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

📝설명

50만 원 이상, 30만 원 이상, 10만 원 이상, 10만 원 미만을 나눠야한다고 생각했다.

그래서 if문을 사용했고, 결과를 도출할 수 있었다.

 

👑모범 답안

🔎딕셔너리를 활용한 답안.

가격의 분류를 key값으로 설정하고, 할인 폭을 value로 설정했다.

.items()를 활용해서 price와 key값을 비교했고,

결과적으로 price와 value를 곱해서 결과를 도출해냈다. 

 

👀느낀 점

: 어떤 분이 모범답안의 댓글에 감동이 있는 코딩이라고 했다.

공감한다. 이 코드는 정성이 느껴지는 것 같다. 

이렇게 멋진 코드를 짜려면 기초가 탄탄해야겠지.

이번주에 배운 내용 복습을 잘 해놔야겠다.