Solución

@aventuradev·2/6/2026TypeScript
solution.tsTypeScript
export function getProductFinalPrice(p: number, c: string, s: number): number {
  const stock = s;
  const price = p;
  const category = c;

  const TAX = 1.21;

  // Verificar si el stock es válido
  if (stock <= 0) return -1;

  // Verificar si el precio es válido
  if (price <= 0) return -1;

  const discount = getCategoryDiscount(price, category);
  // Calcular el precio con descuento aplicado
  let discounted = price - discount;

  // Aplicar el impuesto sobre el precio con descuento
  let result = discounted * TAX;

  // Redondear a dos decimales
  return Math.round(result * 100) / 100;
}

function getCategoryDiscount(price: number, category: string):number {
  let discount = 0;

  const ELECTRONICS_DISCOUNT = 0.15;
  const CLOTHING_DISCOUNT = 0.20;
  const FOOD_DISCOUNT = 0.05;

  // Aplicar descuento según la categoría del producto
  if (category === "electronics") {
    discount = price * ELECTRONICS_DISCOUNT;
  } else if (category === "clothing") {
    discount = price * CLOTHING_DISCOUNT;
  } else if (category === "food") {
    discount = price * FOOD_DISCOUNT;
  }

 return discount;
}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.