Solución

@alexiis-dev·29/5/2026TypeScript
solution.tsTypeScript
const BASE_FARE = 2.50
const KM_FARE = 1.20
const KM_FARE_RANGE = 1.5
const PASSENGER_RATE = 0.30
const PASSENGER_LIMIT = 4
const TOTAL_MIN = 5

function getNigthMultiplier(hour: number, nigthMultiplier:number){
 // Verificar si es horario nocturno
  if (hour < 6 || hour >= 22) {
    // Aplicar recargo nocturno al costo por kilómetro
    return BASE_FARE + nigthMultiplier * KM_FARE * KM_FARE_RANGE;
  } else {
    return BASE_FARE + nigthMultiplier * KM_FARE;
  }
}

export function calculateTaxiFare(nigthMultiplier: number, hour: number, passager: number): number {
  let total = getNigthMultiplier(hour, nigthMultiplier);

  // Verificar si hay pasajeros extra y sumar recargo
  if (passager > PASSENGER_LIMIT) {
    total +=  (passager - PASSENGER_LIMIT) * PASSENGER_RATE;
  }

  // Aplicar tarifa mínima
  if (total < TOTAL_MIN) {
    total = TOTAL_MIN;
  }

  return total;
}
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.