본문 바로가기

verdantjuly/코딩테스트

프로그래머스 코딩테스트 입문 : 옷가게 할인 받기 (javascript, 20230601)

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년을 개발하지 않고 허송세월 보낸 게 후회된다.