상세 컨텐츠

본문 제목

[HackerRank] Time conversion

HackerRank

by 수다쟁이직딩이 2022. 2. 21. 10:44

본문

이 문제는 크게 어려운 문제는 아니였다. 

 

다만 한가지 관가한 부분이 있었는데 그것은 12:00:00AM과 12:00:00PM이다.

 

24시간을 기준으로 봤을 때 AM에서의 12는 12:00:00을 의미하며

 

PM에서의 12시는 00:00:00을 의미한다.

 

단순히 AM인지PM인지 비교 뿐만 아니라 12시를 가리킬 떄의 조건까지 따져 로직을 짜야한다.

 

code

function timeConversion(s) {
    // Write your code here
    //s = "12:45:54PM";
    var str = s.substring(8, 10);
    var arr = s.split(":");
    var result = "";
    
    if(str == "AM"){
        if(arr[0] == "12"){
            result = "00:" + arr[1] + ":" + arr[2].substring(0, 2);
        }
        else{
            result = s.substring(0, 8)    
        }
    }
    else{
        if(arr[0] == "12"){
            result = "12:" + arr[1] + ":" + arr[2].substring(0, 2);
        }
        else{
            var hh = parseInt(arr[0])+12;
            result = hh.toString() + ":" + arr[1] + ":" + arr[2].substring(0, 2);
        }
    }
    
    return result;
}

내가 생각하는 좋은 코드는

 

누가 봐도 쉽게 이해할 수 있는 코드가 잘 짜여진 코드라고 생각한다. 

관련글 더보기