https://www.acmicpc.net/problem/1924
1. 2007년 1월 1일이 월요일일 때,
2. 2007년 x월 y일은 무슨요일인가
# 입력
x, y = map(int, input().split())
# 요일리스트
day = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
# 날짜 계산
days = 0
for month in range(1, x):
if month in {1, 3, 5, 7, 8, 10, 12}:
days += 31
elif month in {4, 6, 9, 11}:
days += 30
else:
days += 28
days += y - 1
print(day[days % 7])
month를 체크할 때 리스트가 아닌 집합을 사용한 이유
List에서 in연산이 O(n)인 반면, Set은 in연산이 O(1)이다.