231028 개발일지 TIL - [프로그래머스/JS] Lv.0 - 양꼬치

The Web On Everything·2023년 10월 27일
0

개발일지

목록 보기
171/269

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.

풀이

function solution(n, k) {
    return n * 12000 + Math.max(0, k - Math.floor(n / 10)) * 2000;
}

n * 12000
양꼬치 한 인분의 가격이 12000원이므로, n인분의 양꼬치를 먹었다면 이 부분은 n인분의 양꼬치 가격을 계산한다.

Math.floor(n / 10)
양꼬치를 10인분 먹으면 음료수 하나를 무료로 주기 때문에, n / 10의 몫 (Math.floor 함수를 사용하여 소숫점 아래를 버린다.)이 무료로 받을 수 있는 음료수의 개수가 된다.

k - Math.floor(n / 10)
주문한 음료수 개수(k)에서 무료로 받은 음료(Math.floor(n / 10))를 뺀 값이 지불해야하는 음료의 개수가 된다. 만약 이 값이 마이너스(-)가 되면(무료로 받은 음료만으로도 주문한 모든 음료를 충족시킬 수 있다면), 지불해야 할 비용은 없으므로 최소값을 0으로 설정한다.(Math.max 함수 사용)

(Math.max(0, k - Math.floor(n / 10)) * 2000)
위에서 계산된 '지불해야하는 음료 갯수'에 각각 '음료 한개당 가격'인 '2000원'을 곱한 값이다. 지불해야하는 음료 비용이다.

이 함수는 '양꼬치 비용' + '지불해야하는 음료 비용'을 반환하게 된다.

profile
오늘은 무슨 오류를 만날까?! 널 만나러 가는 길~ LOL

0개의 댓글