Solución

@eduahg·2/6/2026TypeScript
solution.tsTypeScript
type productCategories = "electronics" | "clothing" | "food"

export function getProductFinalPrice(price: number, category: productCategories, stock: number): number {
  
  const PRICE_TAX = 1.21;
  // Verificar si el stock es válid

  if (stock <= 0) return -1;

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

  let discount = getDiscount(category,price);

 
  // Calcular el precio con descuento aplicado
  let discounted = price - discount;

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

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


function getDiscount(productCategory:productCategories,productPrice:number):number {
  const ELECTRONIC_DISCOUNT = 0.15;
  const CLOTHING_DISCOUNT = 0.20;
  const FOOD_DISCOUNT = 0.05;
  let discount = 0


  switch(productCategory) {
    case "electronics":
    discount = productPrice * ELECTRONIC_DISCOUNT;
    break;
    case "clothing":
    discount = productPrice * CLOTHING_DISCOUNT
    break;
    case "food":
    discount = productPrice * FOOD_DISCOUNT
    break;
    default:
    discount = 0;
    break;
    
  }

  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.