프로그래머스 코딩테스트 [옷가게 할인 받기] javascript

Louis·2023년 11월 14일
1
post-thumbnail

안녕하세요 : )

오늘도 코테 리뷰로 돌아왔습니다~~~!

저는 오랜시간동안 걸리지 않았던 몸살감기에 걸리게 되었습니다...
오랜만에 걸리는 몸살감기여서 죽을 것 같은 컨디션입니다...

여러분들은 꼭 감기 조심하셔서 춥지만 따뜻한 하루하루를 보내시길 바라겠습니다...

그럼 본격적으로 시작해보겠습니다...콜록..콜록....

문제

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

활용된 주요 코드

Math.floor() 메서드를 이용하여 소수점 이하의 수를 버리면서 진행을 했습니다

나의 풀이

function solution(price) {
    if (price >= 100000 && price < 300000) {
        return Math.floor(price - (price * 0.05))
    } else if (price >= 300000 && price < 500000) {
        return Math.floor(price - (price * 0.1)) 
    } else if (price >= 500000) {
        return Math.floor(price - (price * 0.2))
    } else {
        return price
    }
}

문제 해석

문제 내에서 특정 가격 이상 구입을 할 경우 할인이 들어간다고 문제에 표시가 되어 있어서 저는 바로! if문을 적용해야된다고 생각해서 적용을 하였습니다!

그리고 세일을 계산하는 방법으로는
price - (price * 0.05)
price - (price * 0.1)
price - (price * 0.2)
으로 생각을 하여서 원가에서 할인 된 가격으로 return 해줄 수 있었습니다

처음에는 조건식을 if, else if 두 가지만 사용하고
price >= 100000
price >= 300000
price >= 500000
으로만 작성을 하였지만 채점의 결과는 실패가 있었습니다

어떤 부분이 잘 못 되었을까 생각하면서 다시 코드를 보고 수정을 하기 시작했습니다

function solution(price) {
    if (price >= 100000 && price < 300000) {
        return Math.floor(price - (price * 0.05))
    } else if (price >= 300000 && price < 500000) {
        return Math.floor(price - (price * 0.1)) 
    } else if (price >= 500000) {
        return Math.floor(price - (price * 0.2))
}

다시 조건식을 조금 더 꼼꼼하게 작성을 하였습니다
하지만 여전히 실패는 존재하였고 어떤 부분이 내가 놓치고 있나 생각하고 문제를 다시 보기 시작했습니다

그리고 갑자기 생각이 들었던 건 제가 10만원 미만의 제품들을 생각하고 있지 않았던 것이었습니다..!

그래서
else {return price} 해당 코드를 추가해주었습니다
이렇게 진행하게되면 앞에서 모든 가격들이 걸러지고 안걸러진 것들은 10만원 미만의 제품으로 인식하고 할인 없이 return 될 수 있도록 코드를 작성하였습니다

그렇게 작성을 한다면!!

이렇게 정답을 받아볼 수 있습니다~~!

이번에는 소수점 아래 수들을 버리는 메서드인 Math.floor 를 사용해봤는데요

제가 요즘 꾸준히 하루에 하나라고 풀어보려고 노력중인데 풀면서 느낀건 일단 쉬운 것 부터 작성해서 발전 시키자! 입니다!

저는 문제를 이해하는 것도 어려워 했던 사람이었기 때문에 건들지 못하고 있는 경우들이 많았는데요 어렵게 생각하지 말고 일단 느낌 오는 것 부터 구글에 찾아보면서 시작하면 문제의 길이 보일 것 같습니다 :)

하지만 이건 제가 아직 입문 단계 문제를 풀고 있기에 할 수 있는 말일 수도 있습니다
그래도 뭐 어떤가요!! 코드에 대해 아무것도 모르고 코테에 대한 로망만이 있던 제가 이렇게 입문 문제라도 풀고있으니깐요 : )

저는 이만 여기서 물러나도록 하겠습니다.. 사실 내일을 위해 몸 관리를 조금 해야될 것 같기 때문이죠... 정말 감기에 걸리고 싶지 않았는데 요 며칠 고생을 조금 했던 것 같습니다 ㅜ

여러분들은 항상 감기 조심하시구요 화이팅 하시고 우리는 또 행복하자구요!!

profile
디자이너의 코딩 도전👍🏻

0개의 댓글