Home [Python] 백준 1924번 : 2007년
Post
Cancel

[Python] 백준 1924번 : 2007년

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년

This post is licensed under CC BY 4.0 by the author.

[Python] 백준 2869번 : 달팽이는 올라가고 싶다

[Python] 백준 2775번 : 부녀회장이 될테야