본문 바로가기
CodeSignal

Valid Time

by Doromi 2024. 1. 7.
728x90
반응형

주어진 문자열이 24시간 형식의 시간을 올바르게 나타내고 있는지 확인하는 문제입니다. 시간은 "HH:mm" 형식으로 표현되어야 하며, 여기서 HH는 00부터 23까지의 시간을 나타내고, mm은 00부터 59까지의 분을 나타냅니다.

예를 들어, "13:58"은 올바른 시간 표현이지만, "25:51"이나 "02:76"은 잘못된 표현입니다.

문제에서 주어진 예시를 통해 설명하면:

"13:58": 올바른 시간 표현입니다. 시간은 00부터 23까지이고, 분은 00부터 59까지입니다. 따라서 true를 반환합니다.

"25:51": 잘못된 시간 표현입니다. 시간이 24 이상이기 때문에 false를 반환합니다.

"02:76": 잘못된 시간 표현입니다. 분이 59를 초과하므로 false를 반환합니다.

bool solution(string time) {
    string[] arr = time.Split(':');
    if(Int32.Parse(arr[0]) < 0 || Int32.Parse(arr[0]) >= 24){
        return false;
    }
    if(Int32.Parse(arr[1]) < 0 || Int32.Parse(arr[1]) >= 60){
        return false;
    }
    return true;
}
string[] arr = time.Split(':');: 입력된 문자열 time을 콜론(:)을 기준으로 분리하여 배열 arr에 저장합니다. 이 배열에는 시간과 분이 각각 저장됩니다.

if(Int32.Parse(arr[0]) < 0 || Int32.Parse(arr[0]) >= 24) { return false; }: 시간을 나타내는 arr[0]를 정수로 변환하여 0보다 작거나 24 이상인 경우에는 올바르지 않은 시간으로 간주하고 false를 반환합니다. 즉, 시간은 0부터 23까지의 값이어야 합니다.

if(Int32.Parse(arr[1]) < 0 || Int32.Parse(arr[1]) >= 60) { return false; }: 분을 나타내는 arr[1]을 정수로 변환하여 0보다 작거나 60 이상인 경우에는 올바르지 않은 분으로 간주하고 false를 반환합니다. 즉, 분은 0부터 59까지의 값이어야 합니다.

return true;: 위의 조건을 모두 통과하면, 시간과 분이 올바른 범위에 속하므로 true를 반환합니다.
728x90
반응형

'CodeSignal' 카테고리의 다른 글

Different Squares  (0) 2024.01.09
sumUpNumbers  (0) 2024.01.08
longestWord  (0) 2024.01.07
deleteDigit  (0) 2024.01.06
chessKnight  (0) 2024.01.05