본문 바로가기

코딩테스트/코드트리

[코드트리] 정수의 최솟값

목차

    728x90
    반응형
    SMALL

    📁 문제

    연도, 월, 일이 차례로 3개의 정수 Y, M, D로 주어졌을 때, Y 해에 M월 D일이 존재한다면 어떤 계절인지를 출력하고, 만약 존재하지 않는다면 -1을 출력하는 프로그램을 작성해보세요. 단, 함수를 이용하여 문제를 해결해주세요.

    3~5월이 봄, 6~8월이 여름, 9~11월이 가을, 12~2월이 겨울이라 가정합니다.

    단, 윤년(2월이 29일까지 있는 해)의 조건은 다음과 같습니다.

    • 4의 배수라면 윤년입니다.
    • 4의 배수이면서 100의 배수라면 윤년이 아닙니다.
    • 4의 배수이면서 100의 배수지만 또한 400의 배수라면 윤년입니다.
    • 나머지 경우에는 윤년이 아닙니다.



     

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

     

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

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

    www.codetree.ai

     

     

     

     

    📁 풀이

    def func(y, m, d) :
        if m == 1 :
            if d > 31 :
                return -1
            else :
                return "Winter"
        elif m == 2 :
            if d == 29 and ((y%100 == 0 and y%400 != 0) or (y%4 != 0)) :
                return -1
            if d > 29 :
                return -1
            else :
                return "Winter"
        elif m == 3 :
            if d > 31 :
                return -1
            else :
                return "Spring"
        elif m == 4 :
            if d > 30 :
                return -1
            else :
                return "Spring"
        elif m == 5 :
            if d > 31 :
                return -1
            else :
                return "Spring"
        elif m == 6 :
            if d > 30 :
                return -1
            else :
                return "Summer"
        elif m == 7 or m == 8 :
            if d > 31 :
                return -1
            else :
                return "Summer"
        elif m == 9 :
            if d > 30 :
                return -1
            else :
                return "Fall"
        elif m == 10 :
            if d > 31 :
                return -1
            else :
                return "Fall"
        elif m == 11 :
            if d > 30 :
                return -1
            else :
                return "Fall"
        elif m == 12 :
            if d > 31 :
                return -1
            else :
                return "Winter"
    
    
    y, m, d = map(int, input().split())
    print(func(y, m, d))

     

    728x90
    반응형
    LIST