© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 2948 - 2009년

2025-07-15
BOJ
브론즈 II
python
원본 문제 보기
구현

문제

BOJ 2948 - 2009년

2009년의 날짜(일, 월)가 주어질 때, 해당 날짜의 요일을 영어로 출력하라.

입력

일(D)과 월(M)이 공백으로 구분되어 주어진다.

출력

해당 날짜의 요일을 영어(Monday, Tuesday, ...)로 출력한다.

예제

입력출력
1 1Thursday
17 1Saturday

풀이

Python의 datetime 라이브러리를 사용하여 2009년 해당 날짜의 요일을 구한다.

  1. 일(D)과 월(M)을 입력받는다
  2. datetime(year=2009, month=M, day=D)로 날짜 객체를 생성한다
  3. .weekday() 메서드로 요일 인덱스를 얻는다 (월요일=0, 일요일=6)
  4. 미리 정의한 요일 리스트에서 해당 인덱스의 영어 요일명을 출력한다

핵심 아이디어: datetime 라이브러리의 weekday() 메서드를 활용하면 날짜 계산 없이 간단히 요일을 구할 수 있다.

코드

from datetime import datetime
 
 
def year_2009(D, M):
    weekday_list = [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday",
    ]
 
    return weekday_list[datetime(year=2009, month=M, day=D).weekday()]
 
 
if __name__ == "__main__":
    D, M = map(int, input().split())
    print(year_2009(D, M))

복잡도

  • 시간: O(1) — 단일 날짜 계산
  • 공간: O(1) — 고정 크기 요일 리스트