본문 바로가기
Javascript/코딩테스트-연습

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

by BeomBe 2024. 3. 20.
반응형

안녕하세요, 오늘은 옷 가게 할인받기 문제를 포스팅 하려 합니다.

머리가 굳지않게 프로그래머스는 입문단계부터 쭉 올라갈 예정입니다.

문제 설명

 

 

문제설명을 제대로 보고 싶은 분들은 아래 링크 참조해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120818

나의 풀이

간단히 IF문으로 해결 - 퍼센트 할인은 미리 계산해서 곱해주는 방식으로 했다.

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

    return Math.floor(price);
}

 

 

다른 사람들의 아이디어

1. 반복문 활용

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
}

 

2. 삼항 연산자 + *틸트 연산자

function solution(price) {
    price = price>=500000?price*0.8:price>=300000?price*0.9:price>=100000?price*0.95:price;
    return ~~(price);
}
반응형