RyanNerd
라덕'Story
RyanNerd
  • 분류 전체보기 (47)
    • 맛집탐방 (0)
    • Study Note (11)
      • Python (3)
      • R (1)
      • Airflow (7)
    • 질병코딩 (1)
    • 빅데이터분석기사 (1)
      • 필기 (1)
    • Programmers (28)
      • Python (13)
      • SQL (15)
    • Project (3)
      • Django (3)
    • Mac (2)

블로그 메뉴

  • Github
  • Notion
  • NaverBlog
  • 홈

최근 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
RyanNerd

라덕'Story

Level 0 - 옷가게 할인받기
Programmers/Python

Level 0 - 옷가게 할인받기

2023. 7. 22. 23:40

문제 설명

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

 

내가 푼 풀이

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

-> 간단하게 if문을 활용하여 할인율 계산


다른사람 풀이

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)
  • discount_rates 변수명을 활용해서 금액에 따른 할인율 정의
  • 반복문을 통하여 discount_rates 딕셔너리를 순회
  • 조건문을 통하여 price가 discount_price 보다 크거나 같은지 확인
  • 딕셔너리에서 가장 먼저 매칭되는 조건의 할인율을 적용(즉, 가장 큰 할인율이 적용됨)

간단하게 if문을 바로 떠올려서 풀었지만 다른식을 통하여 표현할 수 있는게 무궁구진한거 같다!

'Programmers > Python' 카테고리의 다른 글

Level 0 - 아이스 아메리카노  (1) 2023.07.24
Level 0 - 문자 반복 출력하기  (0) 2023.07.23
Level 0 - 배열 원소의 길이  (0) 2023.07.19
Level 0 - 배열 뒤집기  (0) 2023.07.18
Level 0 - 피자 나눠 먹기 (1)  (0) 2023.07.18
    'Programmers/Python' 카테고리의 다른 글
    • Level 0 - 아이스 아메리카노
    • Level 0 - 문자 반복 출력하기
    • Level 0 - 배열 원소의 길이
    • Level 0 - 배열 뒤집기
    RyanNerd
    RyanNerd
    라이언 덕후의 일상 스토리~

    티스토리툴바