>>옷가게 할인받기
# 10만 원 이상 사면 5%,
# 30만 원 이상 사면 10%,
# 50만 원 이상 사면 20%를 할인해줍니다.
# 오류코드
def solution(price):
discount = 0
answer = price - (price * discount)
if price >= 100000:
discount = 0.05
elif price >= 300000:
discount = 0.1
elif price >=500000:
discount =0.2
return answer
위의 코드처럼 할 경우 할인조건이 겹쳐서 원하는 결과 값이 안나올수 있음
if 문에서 제일 위에 값부터 돌기 때문에 조건이 겹침
-조건을 정확하게 평가해서 다시
# 오류코드
def solution(price):
discount = 0
if price >=500000:
discount = 0.2
elif price >= 300000:
discount = 0.1
elif price >= 100000:
discount = 0.05
else :
discount = 0
answer =price - (price * discount)
return answer
거의 통과 되었는데 제출이 안됨
문제를 다시읽어 보니
- 소수점 이하를 버린 정수를 return합니다.
놓친부분이 있었음
정수만 살리는 함수 int 추가
def solution(price):
discount = 0
if price >=500000:
discount = 0.2
elif price >= 300000:
discount = 0.1
elif price >= 100000:
discount = 0.05
else :
discount = 0
answer =price - (price * discount)
return int(answer)
드디어 통과 ~!!
문제를 잘 읽어보고 조건을 잘 파악해야 되겠다
'Til' 카테고리의 다른 글
Til 24.03.24 프로그래머스 파이썬 기초 (0) | 2024.03.19 |
---|---|
Til 24.03.19 - 컴퓨터 사이언스 / 프로세스와 쓰레드 (0) | 2024.03.19 |
Til 24.03.15 파이썬 코딩테스트 기초 (0) | 2024.03.15 |
Til 24.03.14 알고리즘 파이썬(strip(), split(),max()) (1) | 2024.03.14 |
Til 2024.03.13 알고리즘 파이썬 (0) | 2024.03.13 |