[Python] 백준알고리즘 #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

📚 내가 제출한 코드

import sys
months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
days = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']
m, d = map(int, sys.stdin.readline().split())
d += (sum(months[0 : m - 1]) - 1)
print(days[d % 7])

✏️ 내가 제출한 코드에 대한 설명

  • sys.stdin.readline() : 키보드로 입력한 값을 받는 함수 (기존의 input() 보다 속도가 훨씬 빠르다.)
  • a.split() : a를 빈칸 단위로 쪼개서 반환하는 함수
  • map(a, b) : b의 원소 하나하나를 a에 대입한 것을 반환하는 함수
  • a[b : c] : 리스트 a의 index가 b인 원소부터 c-1인 원소까지 반환한다.
  • sum(a) : a 원소들의 합을 반환하는 함수
  • 메모리 : 30864 KB
  • 시간 : 68 ms
  • 코드 길이 : 224 B

좋은 웹페이지 즐겨찾기