[브론즈 1] 백준 1924 - 2007년 (파이썬)
글 작성자: pental
https://www.acmicpc.net/problem/1924
풀이
- 2007년 1월 1일은 월요일 (MON).
- 입력: x y (월, 일)
- 출력: 2007년 x월 y일의 요일
months = {
1 : 31,
2 : 28,
...
12 : 31
}
- 2007년은 평년이므로 2월은 28일.
- 각 월의 일수를 딕셔너리로 저장.
days = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
- 2007년 1월 1일이 월요일이므로, 인덱스 0 = “MON”으로 배열 정의.
current = sum(months[i] for i in range(1, x))
- 1월부터 (x - 1)월까지 총 일수를 더함.
- 예: x = 3 (3월) → 1월 + 2월 = 31 + 28 = 59
current += y
- 해당 월의 일 수 y일을 더함.
- 예: 3월 14일이면 59 + 14 = 73일째
print(days[(current - 1) % 7])
- current - 1을 하는 이유
- 1월 1일이 MON이므로 current = 1일 때 → index 0이어야 함.
- 따라서 current - 1로 보정.
- % 7로 0~6 사이의 값만 나오게 함.
코드
# 백준 1924 - 2007년
# 분류 : 시뮬레이션
months = {
1 : 31,
2 : 28,
3 : 31,
4 : 30,
5 : 31,
6 : 30,
7 : 31,
8 : 31,
9 : 30,
10 : 31,
11 : 30,
12 : 31
}
days = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
x, y = map(int, input().split())
current = sum(months[i] for i in range(1, x))
current += y
print(days[(current - 1) % 7])
'Programming > 백준' 카테고리의 다른 글
[실버 4] 백준 2422 - 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (파이썬) (0) | 2025.05.20 |
---|---|
[골드 4] 백준 1987 - 알파벳 (파이썬) (0) | 2025.05.19 |
[실버 2] 백준 1500 - 최대 곱 (파이썬) (0) | 2025.05.18 |
[실버 3] 백준 1012 - 유기농 배추 (파이썬) (0) | 2025.05.17 |
[브론즈 1] 백준 10448 - 유레카 이론 (파이썬) (0) | 2025.05.16 |
댓글
이 글 공유하기
다른 글
-
[실버 4] 백준 2422 - 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (파이썬)
[실버 4] 백준 2422 - 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (파이썬)
2025.05.20 -
[골드 4] 백준 1987 - 알파벳 (파이썬)
[골드 4] 백준 1987 - 알파벳 (파이썬)
2025.05.19 -
[실버 2] 백준 1500 - 최대 곱 (파이썬)
[실버 2] 백준 1500 - 최대 곱 (파이썬)
2025.05.18 -
[실버 3] 백준 1012 - 유기농 배추 (파이썬)
[실버 3] 백준 1012 - 유기농 배추 (파이썬)
2025.05.17