Problem
https://www.acmicpc.net/problem/1924
Solution
code1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
week = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']
m, d = map(int,input().split())
whereis_sun = 0
if m==4 or m==7:
whereis_sun = 1
elif m==9 or m==12:
whereis_sun = 2
elif m==6:
whereis_sun = 3
elif m==2 or m==3 or m==11:
whereis_sun = 4
elif m==8:
whereis_sun = 5
elif m==5:
whereis_sun = 6
what_day = week[(d + (7 - whereis_sun)) % 7]
print(what_day)
각 달의 일요일의 일을 7로 나눈 값을 if문으로 분류해서 리스트에서 찾았다.
code2
1
2
3
4
5
6
7
8
9
10
11
weeklist = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']
daylist = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
day = 0 #1월부터 해당 월까지의 누적 일수
m, d = map(int,input().split())
for i in range(m-1):
day += daylist[i] #누적 일수를 구함
day = (day + d) % 7 #1월 1일부터 해당 날짜까지의 일수를 7로 나눔
print(weeklist[day])
1과 달리 각 달을 리스트에 저장하게 되면 조건문을 길게 적지 않고 효율적으로 짤 수 있다.
Ref.
https://gabii.tistory.com/entry/BaekJoonPython3-백준-1924번-2007년