카테고리 없음

백준 1924번 : 2007년 (Python,파이썬)

에르미타쥬 2018. 12. 23. 23:09

2007년 1월 1일 월요일을 기점으로 일주일 마다 월요일이 돌아온다는 것에 착안에서 풀었다.

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

def calender(d,m):

month = [1,2,3,4,5,6,7,8,9,10,11,12]

day = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT','SUN']

piv = 0

for i in month:

if i == 1 or i == 3 or i == 5 or i== 7 or i == 8 or i == 10 or i == 12:

for j in range(1,32):

if i == d and j == m:

print(day[piv])

else:

piv = (piv + 1) % len(day)

elif i == 4 or i == 6 or i == 9 or i== 11:

for j in range(1,31):

if i == d and j == m:

print(day[piv])

else:

piv = (piv + 1) % len(day)

elif i == 2:

for j in range(1,29):

if i == d and j == m:

print(day[piv])

else:

piv = (piv + 1) % len(day)

date = input().split(' ')

x = int(date[0])

y = int(date[1])

calender(x,y)

리스트에 요일을 담고 for문을 이용해 2007년 1월 1일부터 x월 y일까지 프로그램을 돌렸다. x월 y일까지 piv값을 0,1,2,3,4,5,6 변화를 주다가 x월 y일에 도착하면 그 때의 piv값을 요일 리스트에 넣어 요일을 산출하는 방법을 택했다.