본문 바로가기
코드트리 알고리즘/Python

[코드트리] 그 계절, 그 날 - Python

by 리버🐦‍🔥 2023. 8. 31.

<문제>

https://www.codetree.ai/missions/5/problems/that-season-that-day/submissions

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

<풀이>

1. 윤년인지 확인 후 맞으면 29일, 아니면 28일인지 비교해서 True/False 리턴

2. 계절 출력

 

<코드>

def func1(y, m, d):
    # 윤년일 때
    maxDay1 = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    # 윤년이 아닐 때
    maxDay2 = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    # 윤년일 때
    if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0:
        if 0 < maxDay1[m] and maxDay1[m] < d:
            return False
    else:
        if 0 < maxDay2[m] and maxDay2[m] < d:
            return False
    return True

y, m, d = map(int, input().split())
if func1(y, m, d):
    if 3 <= m and m <= 5:
        print("Spring")
    elif 6 <= m and m <= 8:
        print("Summer")
    elif 9 <= m and m <= 11:
        print("Fall")
    elif m == 12 or m == 1 or m == 2:
        print("Winter")
else:
    print(-1)