반응형
문제
오늘은 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일까지 있다.
문제풀이
#01
A=["MON","TUE","WED","THU","FRI",'SAT',"SUN"]
#02
B=[0,31,59,90,120,151,181,212,243,273,304,334]
a,b=map(int,input().split())
#03
tmp=B[a-1]+b
print(A[tmp%7-1])
- #01 : 1월1은 MON부터 시작이니, A리스트에 MON부터 SUN까지 순서대로 저장해준다.
- #02 : a를 입력받았을 때 그 전 달까지의 누적 일수를 구하기 위한 리스트이다.
즉 a가 1이면 0, a가 2이면 1월달 누적 31일, a가 3이면 1,2월달 누적 59일이다.
- #03 : tmp에는 a월 b일까지의 누적일수를 저장한다. 즉 a월 전까지의 일수와 b일을 더한다.
즉 B[a-1]+b를 통해 누적일수를 구한다.
이후 누적일수를 7로 나눈 나머지에서 1을 빼주면 그 날의 요일을 구할 수 있다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 10093 파이썬 - 숫자 (6) | 2023.01.01 |
---|---|
[알고리즘] 백준 1977 파이썬 - 완전제곱수 (10) | 2022.12.31 |
[알고리즘] 백준 6322 파이썬 - 직각 삼각형의 두 변 (2) | 2022.12.29 |
[알고리즘] 백준 10101 파이썬 - 삼각형 외우기 (1) | 2022.12.28 |
[알고리즘] 백준 1358 파이썬 - 하키 (1) | 2022.12.27 |