Tất cả thử thách
Dễ 0 đã giải Tỷ lệ chấp nhận 0%

Cart Total With Discount

Total a shopping cart and apply a discount above a threshold.

Bạn sẽ học được gì

  • Total prices with quantities
  • Apply a discount above a threshold
  • Organize code into helper functions

Đề bài

Xem bản dịch

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.

Ràng buộc

0 ≤ length ≤ 1,000; 0 ≤ each price ≤ 100,000; 0 ≤ discount_percent ≤ 100

Ví dụ

Ví dụ 1
Đầu vào:
prices = [40, 35, 25]
discount_percent = 10
discount_threshold = 100

Kết quả mong đợi:
expected = 90.0
Đầu vào:
std::vector<long long> prices = {40, 35, 25};
long long discount_percent = 10;
long long discount_threshold = 100;

Kết quả mong đợi:
double expected = 90.0;
Đầu vào:
long[] prices = new long[] {40, 35, 25};
long discount_percent = 10;
long discount_threshold = 100;

Kết quả mong đợi:
double expected = 90.0;

Giải thích

The total is 100, which reaches the threshold, so 10% off: 90.

Ví dụ 2
Đầu vào:
prices = [20, 30]
discount_percent = 10
discount_threshold = 100

Kết quả mong đợi:
expected = 50.0
Đầu vào:
std::vector<long long> prices = {20, 30};
long long discount_percent = 10;
long long discount_threshold = 100;

Kết quả mong đợi:
double expected = 50.0;
Đầu vào:
long[] prices = new long[] {20, 30};
long discount_percent = 10;
long discount_threshold = 100;

Kết quả mong đợi:
double expected = 50.0;

Giải thích

The total 50 is below 100, so no discount: 50.

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

First find the cart total before any discount.

Gợi ý 2

Apply the percentage reduction only when the total reaches the threshold.

Gợi ý 3

Make sure the discount is taken from the whole order, not item by item.

Độ phức tạp mong đợi

O(n) time, O(1) extra space

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.