Solución

@kappa_cat·23/5/2026TypeScript
solution.tsTypeScript
const BASE_FARE = 2.50
const RATE_PER_KM = 1.20
const NIGHT_MULTIPLIER = 1.50
const EXTRA_PASSENGER_TAX = 0.30
const MIN_FARE = 5.00

function isNightFare(time: number) {
  return time < 6 || time >= 22
}

function applyShiftRate(km: number, time: number): number {
  const dinstanceFare = km * RATE_PER_KM

  return isNightFare(time) 
    ? BASE_FARE + dinstanceFare * NIGHT_MULTIPLIER
    : BASE_FARE + dinstanceFare
}

function calculatePassengerTax(fare: number, passengers: number): number {
  return passengers > 4 
    ? fare + (passengers - 4) * EXTRA_PASSENGER_TAX 
    : fare
}

function calculateMinFare(fare: number): number { return Math.max(MIN_FARE, fare) }

export function calculateTaxiFare(km: number, time: number, passengers: number): number {
  const shiftFare = applyShiftRate(km, time)
  const passengerFare = calculatePassengerTax(shiftFare, passengers)

  return calculateMinFare(passengerFare);
}
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.