1. 나의 풀이
idea.
1. 이번 문제는 그냥 if 문 사용 문제였다.
function solution(price) {
if(price >= 500000){
return Math.floor(price * 0.8)
} else if(price >= 300000){
return Math.floor(price * 0.9)
} else if(price >= 100000){
return Math.floor(price * 0.95)
} else {
return price
}
}
느낀점
1. 코드실행시 테스트를 통과해서 쉽게 넘어갈 줄 알았는데 제출하니 테스트 5개정도가 막혔다.
2. 이유는 마지막에 return price를 빼고 썼기 때문이었다. 금방 알아차리고 고쳐서 통과 완료.
2. 다른 사람 풀이
const discounts = [
[500000, 20],
[300000, 10],
[100000, 5],
]
const solution = (price) => {
for (const discount of discounts)
if (price >= discount[0])
return Math.floor(price - price * discount[1] / 100)
return price
}
느낀점.
1. discounts를 배열로 만들어 반복문을 사용해 풀었다.
2. 굳이 이 문제를 이렇게 풀 필요가 있나? 라는 생각하나, 이런 풀이도 있을 수 있구나 라는 생각 하나가 들었다.