Instrucciones
Los elfos están preparando la víspera de Navidad y necesitan tu ayuda para calcular si van sobrados o no de tiempo ⏳.
Para ello te pasan un array con la duración de cada entrega. El formato de la duración es HH:mm:ss, las entregas empiezan a las 00:00:00 y el límite de tiempo es 07:00:00.
Tu función debe devolver el tiempo que les faltará o el tiempo que les sobrará para terminar las entregas. El formato de la duración devuelta debe ser HH:mm:ss.
Si terminan antes de las 07:00:00, el tiempo restante hasta las 07:00:00 debe ser mostrado con un signo negativo. Por ejemplo, si sobran 1 hora y 30 minutos, devuelve -01:30:00
calculateTime(['00:10:00', '01:00:00', '03:30:00'])
// '-02:20:00'
calculateTime(['02:00:00', '05:00:00', '00:30:00'])
// '00:30:00'
calculateTime([
'00:45:00',
'00:45:00',
'00:00:30',
'00:00:30'
]) // '-05:29:00'
function calculateTime (deliveries) {
let time = 0
deliveries.map(delivery => {
time += +delivery.split(":")[0] * 60 * 60
time += +delivery.split(":")[1] * 60
time += +delivery.split(":")[2]
})
time -= 25200
const hh = Math.floor(Math.abs(time / 3600))
const mm = Math.floor(Math.abs((time / 60)) - hh * 60)
const ss = Math.abs(time % 60)
return `${time > - 1 ? "" : "-"}${(Math.abs(hh) + "")
.padStart(2, "0")}:${((mm === 60 ? 0 : mm) + "")
.padStart(2, "0")}:${(ss + "").padStart(2, "0")}`
}
Puntaje: 240