인기 있는 5권짜리 시리즈에서 여러 책을 더 많이 팔기 위해, 한 서점이 여러 권을 한 번에 구매할 때 할인을 제공하기로 했어요.
다섯 권 중 어떤 책이든 한 권에 $8이에요.
그런데 서로 다른 책 두 권을 사면, 그 두 권에 5% 할인이 적용돼요.
서로 다른 책 3권을 사면 10% 할인을 받아요.
서로 다른 책 4권을 사면 20% 할인을 받아요.
5권을 모두 사면 25% 할인을 받아요.
네 권을 사는데 그중 3권이 서로 다른 책이라면, 세트를 이루는 3권에는 10% 할인이 적용되지만 네 번째 책은 여전히 $8이라는 점에 주의해요.
이제 임무는 (같은 시리즈의 책만 담긴) 어떤 장바구니든 그 가격을 계산하면서, 가능한 한 할인을 크게 받도록 하는 코드를 작성하는 거예요.
예를 들어, 이 장바구니에 담긴 책은 얼마일까요?
이 8권을 묶는 한 가지 방법은 다음과 같아요:
이 경우 총합은 다음과 같아요:
그 결과:
합계는 $51.60이에요.
그런데 이 8권을 묶는 또 다른 방법이 있어요:
이 경우 총합은 다음과 같아요:
그 결과:
합계는 $51.20이에요.
그리고 $51.20이 가장 큰 할인이 적용된 가격이에요.
cost라는 함수를 정의해요. 이 함수는 주어진 책 배열에 대해 정해진 할인을 적용한 비용을 계산해요.
cost는 할인을 적용한 총 비용을 센트 단위로 반환해요.
예를 들어 책 한 권의 비용은 800센트이고, 이는 $8.00과 같아요.
이 연습 문제에서는 정수 계산만 하면 돼요.
Exercism에 가입하고 JavaScript 트랙을 개념 37개연습 문제 159개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.