코딩테스트/Baekjoon

[백준] 1924:2007년 - Python

지윤공원🌳 2021. 5. 27. 05:13
728x90

📖 문제 설명

오늘은 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중 하나를 출력한다.

 

💻 나의 코드

week = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]  # 출력할 요일들을 일~월 순으로 초기화
months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 월별 최대 일수 초기화 (1~12월)
month, day = map(int, input().split())
# month-1미만 인덱스까지의 months를 sum하고 day를 더한 값을 7로 나눈 나머지가 인덱스로 사용됨
print(week[(sum(months[:month-1]) + day) % 7]) 

 

📜 채점 결과

100

 

💬 배운 것

  • : 슬라이싱을 사용하면 쉽게 연산을 할 수 있습니다.
    month-1미만까지의 합을 구할 때, for문을 사용하지 않아도 됩니다. 
728x90