Volver a los desafíos
Fácil 0 resueltos 0% de aceptación

Cart Total With Discount

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

Lo que aprenderás

  • Sumar precios con cantidades
  • Aplicar un descuento por encima de un umbral
  • Organizar el código en funciones auxiliares

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

Ejemplo 1
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.

Ejemplo 2
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.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.