공부 자료/알고리즘

(Python/파이썬) 백준 1924번 - 2007년

뚜루뚜루세니 2021. 8. 5. 14:13
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())
 
=[312831303130313130313031]
=["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