728x90
반응형
BaekJoon 백준 1924 2007년 문제는 2007년 1월 1일은 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일인지 알아내는 문제이다. 난이도는 Bronze 1이다. 파이썬으로 구현해보았다. 몇 월이 며칠까지 있는지 잘 체크하여 경우를 나누는 것이 중요한 듯하다.
BaekJoon 1924 2007년 문제 정보
출처
- https://www.acmicpc.net/problem/1924
난이도
- 브론즈 1 / Bronze 1
2007년 문제 요약
- 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일인지 구하여 출력한다. (1 ≤ x ≤ 12, 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일 ~ 365일로 누적해서 튜플에 저장한다.
- 새 튜플에 요일을 저장한다.
- 입력된 x월 y일의 누적 일을 구하여 7로 나눈 나머지를 구한다.
- 나머지가 0~6일 때, 해당 날짜의 요일은 일요일~토요일이다.
- x월 y일의 요일을 출력한다.
코드 및 설명
date = [tuple()] * 13
date[1] = (1, 31)
date[2] = (32, 59)
for i in range(3, 13):
if i in (3, 5, 7, 8, 10, 12):
lastDay = 31
else:
lastDay = 30
date[i] = (date[i - 1][1] + 1, date[i - 1][1] + lastDay)
day = ('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT')
x, y = map(int, input().split())
print(day[(date[x][0] + (y - 1)) % 7])
BaekJoon 백준 1924 2007년 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 2748 피보나치 수 2 (Python / 파이썬) (0) | 2021.08.16 |
---|---|
[BaekJoon] 백준 2869 달팽이는 올라가고 싶다 (Python / 파이썬) (0) | 2021.08.15 |
[BaekJoon] 백준 1157 단어 공부 (Python / 파이썬) (0) | 2021.08.14 |
[BaekJoon] 백준 4344 평균은 넘겠지 (Python / 파이썬) (0) | 2021.08.14 |
[BaekJoon] 백준 2839 설탕 배달 (Python / 파이썬) (0) | 2021.08.14 |
댓글