본문 바로가기

코드트리 문제풀이

[Code Tree] 요일 맞추기

728x90

1.문제 분석

  • 시뮬레이션 문제
  • 윤년이 아닌 해를 기준으로 특정 날짜의 요일을 구하는 문제

 

2. 기본 아이디어

  1. 요일의 리스트를 생성, 날짜를 계산할 함수를 생성한다.
  2. 입력받은 날짜를 기준으로 더 이른 날짜인지 늦은 날짜인지를 if문을 통해 구분한다.
  3. 입력받은 날짜를 기준으로 날짜의 차이를 계산한다.(날짜의 차이를 7로 나눔으로 인해 요일차를 계산할 수 있다.)
  4. 그 값을 통해 요일을 출력한다.
  5.  

3.문제 풀이

m1, d1, m2, d2 = list(map(int, input().split()))
yo = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
def Days(m, d):
    days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    sums = 0

    for i in range(1, m):
        sums += days[i]
    sums += d

    return sums
if((m1 == m2 and d1 > d2) or (m1 > m2)):
    week = 7 - (Days(m1, d1) - Days(m2, d2)) % 7
else:
    week = (Days(m2, d2) - Days(m1, d1)) % 7

print(yo[week])
728x90