학습
시험

쇼핑몰 가격 계산하기

난이도
STARTER

문제 설명

쇼핑몰에서 사용자의 총 구매 금액을 기준으로 아래 할인 기준에 따라 최종 가격을 반환하는 solution 함수를 작성하시오.

  1. 기본 할인
    • 100,000원 이상일 경우, 5% 할인
    • 300,000원 이상일 경우, 10% 할인
    • 500,000원 이상일 경우, 15% 할인
  2. 회원 등급별 추가 할인
    • 실버: 추가 3% 할인
    • 골드: 추가 5% 할인
    • 플래티넘: 추가 10% 할인
  3. 결제 방식별 추가 할인
    • 신용카드: 추가 할인 없음
    • 현금: 추가 2% 할인
  4. 특별 프로모션
    • 할인 적용 전의 총 구매 금액이 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원
  • 회원 등급: 플래티넘
  • 결제 방식: 현금

할인 적용 순서:

  1. 기본 할인: 550,000원이므로 15% 할인, 550000 * 0.85 = 467500
  2. 회원 등급 할인: 플래티넘 회원이므로 10% 추가 할인, 467500 * 0.90 = 420750
  3. 결제 방식 할인: 현금 결제이므로 2% 추가 할인, 420750 * 0.98 = 412335
  4. 특별 프로모션: 할인 적용 전의 총 구매 금액이 500,000원 이상, 플래티넘 회원, 현금 결제이므로 50,000원 추가 할인, 412335 - 50000 = 362335

따라서 최종 가격은 362,335원입니다.


2번 테스트케이스 설명

  • 총 구매 금액: 400,000원
  • 회원 등급: 골드
  • 결제 방식: 신용카드

할인 적용 순서:

  1. 기본 할인: 400,000원이므로 10% 할인, 400000 * 0.90 = 360000
  2. 회원 등급 할인: 골드 회원이므로 5% 추가 할인, 360000 * 0.95 = 342000
  3. 결제 방식 할인: 신용카드 결제는 추가 할인 미적용

따라서 최종 가격은 342,000원입니다.


3번 테스트케이스 설명

  • 총 구매 금액: 150,000원
  • 회원 등급: 실버
  • 결제 방식: 현금

할인 적용 순서:

  1. 기본 할인: 150,000원이므로 5% 할인, 150000 * 0.95 = 142500
  2. 회원 등급 할인: 실버 회원이므로 3% 추가 할인, 142500 * 0.97 = 138225
  3. 결제 방식 할인: 현금 결제이므로 2% 추가 할인, 138225 * 0.98 = 135460.5

따라서 최종 가격은 135,460원입니다.