728x90
1.문제 분석
- 시뮬레이션 문제
- 윤년이 아닌 해를 기준으로 특정 날짜의 요일을 구하는 문제
2. 기본 아이디어
- 요일의 리스트를 생성, 날짜를 계산할 함수를 생성한다.
- 입력받은 날짜를 기준으로 더 이른 날짜인지 늦은 날짜인지를 if문을 통해 구분한다.
- 입력받은 날짜를 기준으로 날짜의 차이를 계산한다.(날짜의 차이를 7로 나눔으로 인해 요일차를 계산할 수 있다.)
- 그 값을 통해 요일을 출력한다.
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
'코드트리 문제풀이' 카테고리의 다른 글
| [Code Tree] 정렬된 숫자 위치 알아내기 (0) | 2022.07.31 |
|---|---|
| [Code Tree] k번째로 신기한 문자열 (0) | 2022.07.31 |