📍문제
https://school.programmers.co.kr/learn/courses/30/lessons/12901
📍풀이
1. 2016년의 각 달이 며칠까지 있는지를 리스트에 저장
2. 특정 날짜가 주어지면 1월 1일부터 며칠이 경과했는지 계산
3. 1월 1일이 무슨 요일인지 확인하고 여기에 하루씩 더하면서 요일도 업데이트, 주어진 날짜가 될 때까지 반복
- 그런데, 요일은 일 ~ 월 이므로 경과한 일수를 7로 나눈 나머지만 알면 됨
def solution(a, b):
# 인덱스 계산 편의를 위해 0번째 인덱스를 0 설정
days_in_month = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
weekdays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
# 1월 1일 기준으로 경과한 일 수
passed_days = sum(days_in_month[:a]) + b - 1
# 요일 인덱스
# 2016년 1월 1일이 금요일 이므로 FRI의 인덱스인 5 더해줌
weekday_idx = (5 + passed_days) % 7
return weekdays[weekday_idx]
print(solution(5, 24)) # TUE