728x90
문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/120818
나의 풀이
function solution(price) {
let answer = -1;
if (price==0){answer = 0}
else if(price<100000){answer = price}
else if(300000>price && price>=100000){answer = price-((price/100)*5)}
else if(500000>price && price>=300000){answer =price-((price/100)*10) }
else if(price>=500000){answer = price-((price/100)*20)}
return Math.floor(answer);
}
제한사항에 맞춰서 풀이하는 것이 어려웠다.
다른 사람의 풀이
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
}
소감
깔끔하게 가독성 있는 풀이들이 눈에 들어온다. 연습해 볼 시간이 마련되면 좋겠다. 10년을 개발하지 않고 허송세월 보낸 게 후회된다.
'verdantjuly > 코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 : 나이 출력 (javascript, 20230601) (0) | 2023.06.01 |
---|---|
프로그래머스 코딩테스트 입문: 배열 뒤집기 (javascript, 20230601) (0) | 2023.06.01 |
프로그래머스 스터디 A반 20230602 (0) | 2023.06.01 |
프로그래머스 코딩테스트 입문 : 배열의 평균값 (javascript, 20230531) (0) | 2023.05.31 |
프로그래머스 스터디 A반 20230531 Day4 (0) | 2023.05.31 |