문제 설명
쇼핑몰에서 사용자의 총 구매 금액을 기준으로 아래 할인 기준에 따라 최종 가격을 반환하는 solution 함수를 작성하시오.
- 기본 할인
- 100,000원 이상일 경우, 5% 할인
- 300,000원 이상일 경우, 10% 할인
- 500,000원 이상일 경우, 15% 할인
- 회원 등급별 추가 할인
- 실버: 추가 3% 할인
- 골드: 추가 5% 할인
- 플래티넘: 추가 10% 할인
- 결제 방식별 추가 할인
- 신용카드: 추가 할인 없음
- 현금: 추가 2% 할인
- 특별 프로모션
할인 적용 전의 총 구매 금액이 500,000원 이상인플래티넘 회원이현금 결제를 하는 경우 50,000원 추가 할인
할인은 번호 순서에 따라 단계적으로 적용됩니다. 추가 할인은 이전 할인 단계의 결과 금액을 기준으로 적용됩니다.
제한 사항
totalPrice는 총 구매 금액을 의미하며 10,000 이상 1,000,000 이하의 자연수입니다. 10,000의 배수 형태로 주어집니다.membership은 회원 등급을 의미하며 "실버", "골드", "플래티넘" 중 하나입니다.paymentMethod는 결제 방식을 의미하며 "신용카드", "현금" 중 하나입니다.- 최종 가격은 소수 부분을 제거하고 정수 부분만 반환합니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | totalPrice | membership | paymentMethod | return |
|---|---|---|---|---|
| 1 | 550000 | "플래티넘" | "현금" | 362335 |
| 2 | 400000 | "골드" | "신용카드" | 342000 |
| 3 | 150000 | "실버" | "현금" | 135460 |
1번 테스트케이스 설명
- 총 구매 금액: 550,000원
- 회원 등급: 플래티넘
- 결제 방식: 현금
할인 적용 순서:
- 기본 할인: 550,000원이므로 15% 할인, 550000 * 0.85 = 467500
- 회원 등급 할인: 플래티넘 회원이므로 10% 추가 할인, 467500 * 0.90 = 420750
- 결제 방식 할인: 현금 결제이므로 2% 추가 할인, 420750 * 0.98 = 412335
- 특별 프로모션: 할인 적용 전의 총 구매 금액이 500,000원 이상, 플래티넘 회원, 현금 결제이므로 50,000원 추가 할인, 412335 - 50000 = 362335
따라서 최종 가격은 362,335원입니다.
2번 테스트케이스 설명
- 총 구매 금액: 400,000원
- 회원 등급: 골드
- 결제 방식: 신용카드
할인 적용 순서:
- 기본 할인: 400,000원이므로 10% 할인, 400000 * 0.90 = 360000
- 회원 등급 할인: 골드 회원이므로 5% 추가 할인, 360000 * 0.95 = 342000
- 결제 방식 할인: 신용카드 결제는 추가 할인 미적용
따라서 최종 가격은 342,000원입니다.
3번 테스트케이스 설명
- 총 구매 금액: 150,000원
- 회원 등급: 실버
- 결제 방식: 현금
할인 적용 순서:
- 기본 할인: 150,000원이므로 5% 할인, 150000 * 0.95 = 142500
- 회원 등급 할인: 실버 회원이므로 3% 추가 할인, 142500 * 0.97 = 138225
- 결제 방식 할인: 현금 결제이므로 2% 추가 할인, 138225 * 0.98 = 135460.5
따라서 최종 가격은 135,460원입니다.