티스토리 뷰
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
내가 작성한 코드
days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
week = 0
x, y = input().split()
x = int(x)
y = int(y)
for i in range(x):
week += days[i]
week += y
if(week % 7 == 1):
print("MON")
elif(week % 7 == 2):
print("TUE")
elif(week % 7 == 3):
print("WED")
elif (week % 7 == 4):
print("THU")
elif(week % 7 == 5):
print("FRI")
elif(week % 7 == 6):
print("SAT")
else:
print("SUN")
풀이 방법
1. 요일은 일수의 합에 나머지 값이다.
2. week 값은 x 달 이전의 days를 합한 값이다. 해당 week 값에 y값을 더하면 원하는 요일을 구할 수 있다.
ㄴ 2월 1일은 1월의 일수 days[1] 값인 " 31 "에 y값 " 1 "을 더한 값이다. 즉 week = 32
요일은 7일로 구성돼 있으므로 " 32%7 "의 값은 4이다.
1월 1일은 MON 부터 시작한다고 돼 있으므로 4일이 지난 요일은 THU가 된다.
3. 요일은 7일로 구성되어 있다. 1월 1일이 MON부터 시작이므로 week%7 나머지 값을 통해 요일을 알 수 있다.
ㄴ 2월 1일의 week = 32, " 32%7 "의 값은 4이다.
1월 1일은 MON 부터 시작한다고 돼 있으므로 4일이 지난 요일은 THU가 된다.
'Code > BackJoon' 카테고리의 다른 글
백준 11721번: 열 개씩 끊어 출력하기 [Python] (0) | 2022.01.24 |
---|---|
백준 8393번: 합 [Python] (0) | 2022.01.24 |
백준 2441번: 별찍기 - 4 [Python] (0) | 2022.01.24 |
백준 2440번: 별찍기 - 3 [Python] (0) | 2022.01.24 |
백준 2439번: 별찍기 - 2 [Python] (0) | 2022.01.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리눅스계정경로
- 파이썬 반복문
- 파이썬 거꾸로
- 리눅스계정
- 백준11721
- 별찍기 -1
- 백준 2742
- 파이썬 오름차순 정렬
- 별찍기 -4
- 백준2440
- 파이썬 덧셈
- 백준 별찍기
- range특징
- 백준2007년
- 백준2920
- 백준2441
- 파이썬
- 파이썬 오른쪽정렬
- reversed함수
- 별찍기 -2
- 코딩테스트
- 오른쪽정렬
- 코테준비
- 파이썬 내림차순 정렬
- 코테
- 백준1942
- 백준
- 백준코테
- 별찍기 -3
- 파이썬 find
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함