https://www.acmicpc.net/problem/1924
문제
오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.
입력
첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.
출력
첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.
예제 입력 1 복사
1 1
예제 출력 1 복사
MON
예제 입력 2 복사
3 14
예제 출력 2 복사
WED
예제 입력 3 복사
9 2
예제 출력 3 복사
SUN
예제 입력 4 복사
12 25
예제 출력 4 복사
TUE
출처
풀이
def find_day_of_week(x, y):
# 각 달의 일수 (2007년 기준)
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 요일 리스트
days_of_week = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
# 1월 1일부터 입력된 날짜까지의 총 일수를 계산
total_days = sum(days_in_month[:x-1]) + y - 1
# 1월 1일이 월요일이므로, 이를 기준으로 요일을 계산
day_of_week = days_of_week[total_days % 7]
return day_of_week
# 입력 받기
x, y = map(int, input().split())
# 결과 출력
print(find_day_of_week(x, y))
'Algorithm > 백준' 카테고리의 다른 글
항해99 리부트코스 알고리즘 1주 - 2일차 2018 수들의 합 5 (0) | 2024.07.18 |
---|---|
항해99 리부트코스 알고리즘 1주 - 2일차 2003 수들의 합 2 (0) | 2024.07.18 |
항해99 리부트코스 알고리즘 1주 - 1일차 2477 참외밭 (0) | 2024.07.18 |
항해99 리부트코스 알고리즘 1주 - 1일차 4344 평균은 넘겠지 (0) | 2024.07.18 |
항해99 리부트코스 알고리즘 1주 - 1일차 2480 주사위 세개 (0) | 2024.07.18 |