Solución
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