문제
"HH:MM:SS" 형식의 시간 문자열을 받는 JavaScript 함수를 작성해야 합니다.
그러나 여기에 추가로 문제가 있었습니다. 너무 많은 시간 문자열이 끊어져 MM 부분이 60을 초과할 수 있고 SS 부분이 60을 초과할 수 있음을 의미합니다.
우리 함수는 문자열에 필요한 변경을 수행하고 수정된 새 문자열을 반환해야 합니다.
예를 들어 -
"08:11:71" -> "08:12:11"
예시
다음은 코드입니다 -
const str = '08:11:71'; const rectifyTime = (str = '') => { if(!Boolean(str)){ return str; }; const re = /^(\d\d):(\d\d):(\d\d)$/; if (!re.test(str)){ return null; }; let [h, m, s] = str.match(re).slice(1,4).map(Number); let time = h * 3600 + m * 60 + s; s = time % 60; m = (time / 60 |0) % 60; h = (time / 3600 |0) % 24; return [h, m, s] .map(String) .join(':'); }; console.log(rectifyTime(str));
출력
다음은 콘솔 출력입니다 -
08:12:11