const fs = require('fs')
const [ curr, dead ] = fs.readFileSync('/dev/stdin').toString().trim()
.split('\n').map(el => el.split(':').map(Number))
const solution = (curr, dead) => {
let [ch, cm, cs] = curr
let [dh, dm, ds] = dead
let [rh, rm, rs] = []
if(ds >= cs){
rs = ds - cs
}else{
rs = 60 + ds - cs
dm -= 1
}
if(dm >= cm){
rm = dm - cm
}else{
rm = 60 + dm - cm
dh -= 1
}
if(dh >= ch){
rh = dh - ch
}else{
rh = 24 + dh - ch
}
return [rh, rm, rs].map(el => ('0' + el).slice(-2)).join(':')
}
console.log(solution(curr, dead))
현재 시간을 curr = ['13', '52', '30'],
마감 시간을 dead = ['14', '00', '00'] 라고 할 때
마감(초)이 현재(초)보다 크면 서로 빼고
작으면 그냥 서로 뺀 값에 60을 더한다. 그리고 마감(분)에 1을 뺀다
마감(분)이 현재(분)보다 크면 서로 빼고
작으면 그냥 서로 뺀 값에 60을 더한다. 그리고 마감(시)에 1을 뺀다
마감(시)이 현재(시)보다 크면 서로 빼고
작으면 그냥 서로 뺀 값에 24를 더한다.
결과값x가 한자리수 일 경우 '0x'로 표기해주어야 하므로
결과값 배열을 순회하여 각 요소 앞에 문자 '0'을 더하고 slice() 메서드로 뒤에서 2번째까지만 잘라서 매핑한다.
':'을 기준으로 join()하여 반환한다.