728x90
문제출처: https://www.acmicpc.net/problem/1924
1924번: 2007년
첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.
www.acmicpc.net
1. 코드
1
2
3
4
5
6
7
8
9
10
11
|
month, day = map(int, input().split())
a =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
b =["SUN", "MON","TUE", "WED", "THU", "FRI", "SAT"]
cnt =0
for i in range(month-1):
cnt = cnt+a[i]
cnt = (cnt+day)%7
print(b[cnt])
|
cs |
2. 해결과정
달과, 날짜를 입력받아준다.
미리 a 리스트에는 각 월에 해당하는 마지막 일을 값으로 넣어주고, b리스트에는 출력해줘야하는 요일의 형태를 저장해줬다.
cnt는 0으로 초기화 한 후에, for문을 이용해서 입력받은 월의 직전 달 까지 일 수를 계산해줘서 더해준다.
for문 이후에 cnt에 최종으로 해당하는 day날짜를 더해주고 7로 나눈 나머지는 요일이 되게 된다.
3. 느낀점
미리 저장해두는 것을 마지막 일수로 해야한다는 점이 포인트 였던 것 같다.
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
(Python/파이썬) 백준 1292번 - 쉽게 푸는 문제 (0) | 2021.08.06 |
---|---|
(Python/파이썬) 백준 9093번 - 단어 뒤집기 (0) | 2021.08.06 |
(Python/파이썬) 백준 1075번 - 나누기 (0) | 2021.08.05 |
(Python/파이썬) 백준 2740번 - 행렬 곱셈 (0) | 2021.08.05 |
(Python/파이썬) 백준 1476번 - 날짜 계산 (0) | 2021.08.04 |