※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 HackerRank 문제인 Time Conversion이다.
문제는 아래 링크를 확인하자.

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

주어진 시각이 AM인 경우와 PM인 경우를 나누어 생각하자

 

AM이 주어진 경우를 생각해보자. 첫 두자리가 "12"인 경우 그 두자리를 "00"으로 바꿔 시각을 표기해야한다. "12"가 아닌 경우 있는 그대로 시각을 표기하면 된다.

 

PM이 주어진 경우를 생각해보자. 첫 두자리가 "12"인 있는 그대로 시각을 표기하면 된다. "12"가 아닌 경우 그 두자리에 있는 수에 12를 더해 시각을 표기를 해야한다.

 

substr을 이용하면 부분문자열을 편하게 잘라내 비교할 수 있다.

 

stoi함수는 주어진 문자열을 정수로, to_string함수는 주어진 정수를 문자열로 바꿔주는 함수이다. 편리한 함수이므로 잘 기억해두자.

 

아래는 제출한 소스코드이다.

string timeConversion(string s) {
	if (s[8] == 'A') {
		if (s.substr(0, 2) == "12") return "00" + s.substr(2, 6);
		else return s.substr(0, 8);
	}
	else {
		if (s.substr(0, 2) == "12") return s.substr(0, 8);
		else {
			int hour = stoi(s.substr(0, 2)) + 12;
			return to_string(hour) + s.substr(2, 6);
		}
	}
}
728x90

+ Recent posts