Solución

@eduahg·26/5/2026TypeScript
solution.tsTypeScript
// TODO: refactoriza este código — extrae constantes, mejora nombres y crea funciones auxiliares

export function calculateCarRentalCost(d: number, t: string, ins: boolean): number {
  const VEHICLE_TYPE = t;
  const RENTAL_DAYS = d
  const INSURANCE = ins
  let RATE = getTaxRate(VEHICLE_TYPE);


  if (RENTAL_DAYS <= 0) return -1;
  if (RATE === -1) return -1;


  let subTotal = RATE * RENTAL_DAYS;

  // Aplicar descuento según los días rentados
  if (RENTAL_DAYS >= 14) {
    subTotal = subTotal * (1 - 0.2);
  } else if (RENTAL_DAYS >= 7) {
    subTotal = subTotal * (1 - 0.1);
  }

  // Agregar costo del seguro si aplica
  if (INSURANCE) {
    subTotal = subTotal + 15 * RENTAL_DAYS;
  }

  return subTotal;
}

function getTaxRate(vehicleType:string) {
  const ECONOMY_PRICE = 35
  const STANDARD_PRICE = 55
  const PREMIUM_PRICE = 90

   if (vehicleType === 'economy') {
   return ECONOMY_PRICE;
  } else if (vehicleType === 'standard') {
   return STANDARD_PRICE;
  } else if (vehicleType === 'premium') {
   return PREMIUM_PRICE;
  } else {
    return -1;
  }
}
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.