백준 온라인 저지 - 2007년(1924)

Baekjoon 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

My Solution in Python :ok_hand:

x, y = map(int, input().split())
total = -1

for i in range(1, 13):
    if i == 2: day = 28
    elif i in (1, 3, 5, 7, 8, 10, 12): day = 31
    else: day = 30

    if x > i:
        total += day
        continue
    else:
        total += y
        break

print(('MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN')[total % 7])

파이썬의 표준 라이브러리인 datetime 라이브러리를 사용하면 더욱 간단하게 풀 수 있습니다.

Another Solution in Python

import datetime

x, y = map(int, input().split())
print(('MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN')[datetime.date(2007, x, y).weekday()])

백준 온라인 저지 https://www.acmicpc.net/problem/1924

댓글남기기