Problema
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.
Restricciones
0 ≤ length ≤ 1,000; 0 ≤ each price ≤ 100,000; 0 ≤ discount_percent ≤ 100
Ejemplos
Entrada:
prices = [40, 35, 25]
discount_percent = 10
discount_threshold = 100
Salida esperada:
expected = 90.0
Entrada:
std::vector<long long> prices = {40, 35, 25};
long long discount_percent = 10;
long long discount_threshold = 100;
Salida esperada:
double expected = 90.0;
Entrada:
long[] prices = new long[] {40, 35, 25};
long discount_percent = 10;
long discount_threshold = 100;
Salida esperada:
double expected = 90.0;
Explicación
The total is 100, which reaches the threshold, so 10% off: 90.
Entrada:
prices = [20, 30]
discount_percent = 10
discount_threshold = 100
Salida esperada:
expected = 50.0
Entrada:
std::vector<long long> prices = {20, 30};
long long discount_percent = 10;
long long discount_threshold = 100;
Salida esperada:
double expected = 50.0;
Entrada:
long[] prices = new long[] {20, 30};
long discount_percent = 10;
long discount_threshold = 100;
Salida esperada:
double expected = 50.0;
Explicación
The total 50 is below 100, so no discount: 50.
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
Primero calcula el total del carrito antes de cualquier descuento.
Pista 2
Aplica la reducción porcentual solo cuando el total alcance el umbral.
Pista 3
Asegúrate de que el descuento se aplique al pedido completo, no artículo por artículo.
Complejidad esperada
tiempo O(n), espacio extra O(1)
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.