본문 바로가기
알고리즘/BOJ

[BOJ / 백준] 25024번 시간과 날짜 python / 파이썬 조건문

by seohmoon 2022. 6. 19.

출처 : https://www.acmicpc.net/problem/25024

 

25024번: 시간과 날짜

각 테스트케이스 마다 두 문자열을 공백 하나로 구분하여 출력한다. 첫 번째 문자열은 두 정수 $x$, $y$를 $x$시 $y$분으로 읽는 것이 가능하면 “Yes”, 가능하지 않으면 “No”여야 한다. 두 번째 문

www.acmicpc.net


시간을 체크하는 함수와 날짜를 체크하는 함수를 나눠서 만들어줌

 

그리고 날짜에서는 월마다 유효한 날짜가 다르니까

그때마다 경우를 나눠서 확인해줬다.

# BOJ25024 시간과 날짜
def check_time(x, y):
    if x > 23:
        return("No")
    else:
        if y > 59:
            return("No")
        else:
            return("Yes")

def check_date(x, y):
    case1 = [1, 3, 5, 7, 8, 10, 12]
    if x > 12 or x == 0:
        return("No")
    else:
        if x in case1:
            if y > 31 or y == 0:
                return("No")
        elif x == 2:
            if y > 29 or y == 0:
                return("No")
        else:
            if y > 30 or y == 0:
                return("No")
        return("Yes") 

T = int(input())
for i in range(T):
    x, y = map(int, input().split())
    print(check_time(x, y), end=" ")
    print(check_date(x, y))

댓글