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
문을 사용해서 풀었다.
배열도 사용할 수 있지 않을까, 하는 생각만 어렴풋이 했다.
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) # 해당 할인율 적용
배열이 아니고 딕셔너리였다. 가격:할인율
로 구성된 딕셔너리를 만들어두고, 그 안에서 값을 가져다가 할인가를 계산하는 코드다.
👀 [Python] 파이썬에는 switch문이 없다고? 와 이어집니다.