포포's 코딩&일상 기록

[코테] 요일 구하기.. 부족 해설이랑 다르게 너무 장황하게 코드 본문

카테고리 없음

[코테] 요일 구하기.. 부족 해설이랑 다르게 너무 장황하게 코드

포포252 2024. 2. 28. 08:51

https://www.codetree.ai/missions/5/problems/guess-day-of-week?&utm_source=clipboard&utm_medium=text

 

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

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

www.codetree.ai

 

내가짠코드

m1, d1, m2, d2 = map(int,input().split())
y2011 = [0,31,28,31,30,31,30,31,31,30,31,30,31]
yoil = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
idxY = 0

while True:
    if m1==m2 and d1==d2:
        break
    
    #두번째가 큰 경우 값을 증가시켜준다 
    if m1 < m2 : 
        d1 +=1 
        idxY +=1
    elif m1 == m2 and d1 <d2:
        d1 +=1 
        idxY +=1
    elif m1 ==m2 and d1> d2 :
        d1 -=1
        idxY -=1
    elif m1>m2 :
        d1 -=1
        idxY-=1

    #값의 범위 체크
    if d1 > y2011[m1]:
        m1 +=1
        
        #월도 체크해주기...
        if m1 >12: 
            m1 =1
        elif m1 < 1:
            m1 =12
            
        d1 = 1 

    elif d1 <1:
        m1 -=1
        
        #월도 체크해주기...
        if m1 >12: 
            m1 =1
        elif m1 < 1:
            m1 =12
        
        d1 = y2011[m1]
    
    #월도 체크해주기...
    if m1 >12: 
        m1 =1
    elif m1 < 1:
        m1 =12
    
    #요일 법위 체크
    if idxY >= len(yoil):
        idxY =0
    elif idxY <0:
        idxY =6


print(yoil[idxY])