Write a function, which takes a non-negative integer (seconds) as input and returns the time in a human-readable format (HH:MM:SS)
The maximum time never exceeds 359999 (99:59:59)
(요약) 주어진 숫자를 시간:분:초
로 나타내라.
function humanReadable(seconds) { const timeArr = []; for(let i = 0; i < 3; i++) { if(seconds >= 60) { timeArr.unshift(timeArr.length === 2 ? seconds : seconds % 60); seconds = timeArr.length < 3 ? (seconds / 60|0) : seconds; } else { timeArr.unshift(seconds); seconds = 0; } } return timeArr.map(n => `${n}`.padStart(2, 0)).join(':'); }
반복문은 3번만 돌면서 배열에
push
하게 하려고한다.
if
문으로 숫자가 60이 넘어가면 현재 숫자와 배열요소 개수를 확인해서unshift
하고, 몫을seconds
에 넣는다.60미만이면 그냥 배열에 0을
unshift
하고,seconds
는 0으로 만든다.마지막에 배열 요소마다 2자리로 표현되게 만들고,
join
으로 연결.