[JavaScript] 프로그래머스 옷가게 할인 받기

2024. 4. 26. 11:45알고리즘

728x90
반응형

문제 설명

 

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

 

입출력 예

price            |    result

150,000      |    142,500 

580,000      |   464,000

 

입출력 예 설명

입출력 예 #1

150,000원에서 5%를 할인한 142,500원을 return 합니다.

입출력 예 #2

580,000원에서 20%를 할인한 464,000원을 return 합니다.

 

 

풀이

function solution(price) {
    if (price >= 500000) {
        return parseInt(price * 0.8);
    } else if (price >= 300000) {
        return parseInt(price * 0.9);
    } else if (price >= 100000) {
        return parseInt(price * 0.95);
    }
    return price
}

 

 

다른사람의 풀이

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
}

 

나도 처음 문제를 보았을 때 반복문을 이용하여 문제를 풀어야한건가 생각을 했지만 조건문으로 문제를 풀수 있다는 생각에 조건문으로 문제를 풀었다.

 

 

문제점

나는 조건문을 사용하여 문제를 풀었는데 할인율에 계산법이 조금 어려웠다 간단하게 price % 20를 하면 되는줄 알았는데 그게 아니였다 

728x90
반응형