서점

서점

보통

지침

인기 있는 5권짜리 시리즈의 책을 더 많이 팔기 위해, 한 서점이 여러 권을 한꺼번에 살 때 할인을 제공하기로 했어요.

다섯 권 중 어떤 책이든 한 권은 $8이에요.

하지만 서로 다른 책 두 권을 사면 그 두 권에 5% 할인이 적용돼요.

서로 다른 책 3권을 사면 10% 할인이에요.

서로 다른 책 4권을 사면 20% 할인이에요.

5권을 전부 사면 25% 할인이에요.

참고: 책 네 권을 샀는데 그중 3권이 서로 다른 책이라면, 세트를 이루는 그 3권에는 10% 할인이 적용되지만 네 번째 책은 여전히 $8이에요.

여러분의 미션은 같은 시리즈의 책만 담긴, 생각할 수 있는 어떤 장바구니든 그 가격을 계산하는 코드를 작성하는 거예요. 가능한 한 가장 큰 할인을 적용해서요.

예를 들어, 이 장바구니에 담긴 책은 얼마일까요?

  • 첫 번째 책 2권
  • 두 번째 책 2권
  • 세 번째 책 2권
  • 네 번째 책 1권
  • 다섯 번째 책 1권

이 8권을 묶는 한 가지 방법은 이래요:

  • 5권 한 묶음 --> 25% 할인 (1,2,3,4,5번)
  • +3권 한 묶음 --> 10% 할인 (1,2,3번)

이렇게 하면 총:

  • 5권에 25% 할인
  • +3권에 10% 할인

결과는:

  • 5 x (8 - 2.00) == 5 x 6.00 == $30.00
  • +3 x (8 - 0.80) == 3 x 7.20 == $21.60

합계는 $51.60

그런데 이 8권을 묶는 또 다른 방법이 있어요:

  • 4권 한 묶음 --> 20% 할인 (1,2,3,4번)
  • +4권 한 묶음 --> 20% 할인 (1,2,3,5번)

이렇게 하면 총:

  • 4권에 20% 할인
  • +4권에 20% 할인

결과는:

  • 4 x (8 - 1.60) == 4 x 6.40 == $25.60
  • +4 x (8 - 1.60) == 4 x 6.40 == $25.60

합계는 $51.20

그리고 $51.20이 가장 큰 할인이 적용된 가격이에요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Delphi Pascal Exercism

서점 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Delphi Pascal 트랙을 연습 문제 76개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.