HR - Time Conversion

Goody·2021년 1월 29일
0

알고리즘

목록 보기
20/122

문제

12시간 AM/PM 시간 형식을 24시간 시간 형식으로 변환하는 문제.

예시

  • s = '12:01:00PM'
    Return '12:01:00'

  • s = '12:01:00AM'
    Return '00:01:00'

  • s = '07:05:45PM'
    Return '19:05:45'

풀이

  • 주어진 문자열을 ':' 을 기준으로 나눠서 배열에 저장한다.
  • 시간 (배열의 0번째 칸) 을 12시보다 이를 때, 12시 일 때, 12시 이후 일 때로 나눠 변환한다.
  • 변환된 시간과 나머지 배열을 이어붙인다.

코드

function timeConversion(s) {
   
  const beforeArr = s.split(":");
    const beforeHour = Number(beforeArr[0]);
    let afterHour = "0" + beforeHour ;
    
    if(beforeHour < 12 && beforeArr[2].slice(2,4) === "PM") {
        afterHour = 0;
        afterHour = beforeHour + 12 + "";
    }
  
    if(beforeHour === 12 && beforeArr[2].slice(2,4) === "AM") {
        afterHour = 0;
        afterHour += "0";
    }

    if(beforeHour === 12 && beforeArr[2].slice(2,4) === "PM") {
        afterHour = 12;
    }
    const afterSec = beforeArr[2].slice(0,2);
    const afterArr = [afterHour, beforeArr[1], afterSec];
    let string = afterArr.join(":");
   
    return string;
  
}

0개의 댓글