[프로그래머스] 옷가게 할인 받기

Oayenn·2023년 7월 5일
0

Programmers

목록 보기
4/6
post-thumbnail
post-custom-banner

⚙️나의 코드

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

자바 프로젝트만 진행하다 보니 자연스럽게 switch문을 떠올렸는데, python은 switch를 지원하지 않는다는 걸 검색하고 깨달았다(지금 보니 switch문으로 풀 수 있는 문제가 아니긴 하다). if-elif-else문을 사용해서 풀었다.
배열도 사용할 수 있지 않을까, 하는 생각만 어렴풋이 했다.

✏️Solution

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) # 해당 할인율 적용

배열이 아니고 딕셔너리였다. 가격:할인율로 구성된 딕셔너리를 만들어두고, 그 안에서 값을 가져다가 할인가를 계산하는 코드다.

딕셔너리 관련 함수

  • keys() : Key 리스트 추출
  • values() : Value 리스트 추출
  • items() : Key, Value 쌍을 튜플로 묶은 리스트를 리턴한다.


👀 [Python] 파이썬에는 switch문이 없다고? 와 이어집니다.

profile
차근차근 쌓아올리기
post-custom-banner

0개의 댓글