문제
Add up the prices in the cart. If the total is at least discount_threshold, take discount_percent percent off the whole total.
Implement cart_total(prices, discount_threshold, discount_percent).
Input
prices: The item prices. discount_threshold: The total that unlocks the discount. discount_percent: The discount in percent.
Output
Return the amount to pay.
제약 조건
0 ≤ length ≤ 1,000; 0 ≤ each price ≤ 100,000; 0 ≤ discount_percent ≤ 100
예시
입력:
prices = [40, 35, 25]
discount_percent = 10
discount_threshold = 100
예상 출력:
expected = 90.0
입력:
std::vector<long long> prices = {40, 35, 25};
long long discount_percent = 10;
long long discount_threshold = 100;
예상 출력:
double expected = 90.0;
입력:
long[] prices = new long[] {40, 35, 25};
long discount_percent = 10;
long discount_threshold = 100;
예상 출력:
double expected = 90.0;
설명
The total is 100, which reaches the threshold, so 10% off: 90.
입력:
prices = [20, 30]
discount_percent = 10
discount_threshold = 100
예상 출력:
expected = 50.0
입력:
std::vector<long long> prices = {20, 30};
long long discount_percent = 10;
long long discount_threshold = 100;
예상 출력:
double expected = 50.0;
입력:
long[] prices = new long[] {20, 30};
long discount_percent = 10;
long discount_threshold = 100;
예상 출력:
double expected = 50.0;
설명
The total 50 is below 100, so no discount: 50.
접근 방법
먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.
힌트 1
먼저 할인 전 장바구니 총액을 구하세요.
힌트 2
총액이 기준에 도달할 때만 퍼센트 할인을 적용합니다.
힌트 3
할인은 각 상품별이 아니라 전체 주문 금액에서 적용해야 합니다.
예상 복잡도
시간 O(n), 추가 공간 O(1)
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.