Algorithms
Time Conversion
seoca
2020. 8. 22. 20:30
Solution in JavaScript
const s = '07:05:45PM';
function TimeConversion(s) {
// string을 바꿀 수 없으니 split을 사용해서 array로 바꿔준다.
// AM과 PM도 삭제. '00:00:00AM' -> ['00', '00', '00']
//const arr = s.slice(0, 8).split(':');
const arr = s.split(':');
//indexOf(): 원하는 element의 index number return하고 원하는 index가 없으면 -1 return
//PM 이 존재하면 최소 0 이니까 조건을 '> -1' 로 준다.
//min 과 sec은 같고 시간 즉 arr[0]만 변화주면됨.
arr[0] = (s.indexOf('PM') > -1) ?
//PM case. type conversion to number
(arr[0] === 12 ? '12' : Number(arr[0]) + 12) :
//AM case
(arr[0] === 12 ? '00' : arr[0]);
return arr.join(':'); //join으로 다시 string으로 변환.
}
console.log(TimeConversion(s)); //19:05:45
Reference
https://www.hackerrank.com/challenges/time-conversion/problem
Time Conversion | HackerRank
Convert time from an AM/PM format to a 24 hour format.
www.hackerrank.com