티스토리 뷰

반응형

탈탈 털린 넥슨 코테를 계기로...

Hacker rank preparation kit의 day 하나씩 풀기로 했습니다. 

일단 1주일 키트의 첫째날부터 시작

첫째날이라 다 쉽네용


문제의 조건 

1. 12:23:43AM 식으로 12시간 포맷의 시간이 입력되는데 이것을 24시간 포맷으로 환산하면 몇 시로 표현할 수 있는지 string으로 만들어서 리턴하기 

 


AM이면 11시까지는 그대로 쓰면 되는데 12시면 00으로 바꿔줘야 하고

PM이면 12시면 그대로 쓰면 되지만 12시 이전까지는 12를 더해줘야 합니다. 

 

string timeConversion(string s) {
    
    //오전인지 오후인지, 몇 시인지 구분하기 위해서 string 분리 
    string strHour = s.substr(0, 2);
    string strTimeFormat = s.substr(s.size() - 2, 2);
    string strLest = s.substr(2, 6);
    string strAnswer;
    
    if ("AM" == strTimeFormat)
    {
        if ("12" == strHour)
            strAnswer += "00";
        else
            strAnswer += strHour; 
    }
    else
    {
        //계산의 편의를 위해 string -> integer로 바꿔줌 
        int iHour = stoi(strHour);
        if (12 > iHour)
        {
            iHour += 12;
            strHour = to_string(iHour);
        }
        strAnswer += strHour;
    }
    
    strAnswer += strLest;
    
    return strAnswer;
}
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함