pythonchallenge level 15

2009. 12. 3. 17:33

http://www.pythonchallenge.com/pc/return/uzi.html

January 1xx6 이라고 써진 달력 그림이 있다.
그리고 월요일인 26일에 동그라미가 쳐져있다. 소스 보기를 하면 다음의 2가지 힌트가 보인다.

<!-- he ain't the youngest, he is the second -->
<!-- todo: buy flowers for tomorrow -->

calendar 모듈로 찾아보니 weekday 라는 메소드를 이용하면 될 듯 하다.


calendar.weekday(year, month, day)
    Returns the day of the week (0 is Monday) for year (1970–...), month (1–12), day (1–31).

그리고 달력 그림 아래쪽에 보이는 2월의 날짜가 29일 까지 있는 걸로 보인다. 윤년이라는
소리다. 따라서 1월 26일이 월요일인 1xx6년 중에서 윤년인 것만 필요하다.
아래의 코드를 실행하면 1176, 1356, 1576, 1756,1976 이 나온다.

힌트에서 보면 가장 어린게 아니고 2번째라고 했으니 1756년,
내일을 위해 꽃을 사야 한다고 했으니 -_-; 27일.

1756년 1월 27일로 검색해보면 모짜르트 탄신일 이라고 나온다 -_-;;
(처음엔 1월 26일로 검색했는데 어떤 사이트에서는 26일이 탄신일이라고 나온 곳도 있었다;)


import calendar

def get_the_day(mon,day,year):
    calendar.setfirstweekday(6)
    ret = calendar.weekday(year, mon, day)
    
    if ret == 0 and year % 4 == 0:
        calendar.prmonth(year,mon)

mon = 1
day = 26

for i in range(100):
    year = int('1%02d6' % i)
    get_the_day(mon,day,year)
 


http://www.pythonchallenge.com/pc/return/mozart.html

'War game > pythonchallenge' 카테고리의 다른 글

pythonchallenge level 17  (1) 2010.10.27
pythonchallenge level16  (0) 2009.12.04
pythonchallenge level14  (0) 2009.11.17
pythonchallenge level13  (0) 2009.10.22
pythonchallenge level12  (0) 2009.10.22
pythonchallenge level11  (0) 2009.10.22
pythonchallenge level10  (0) 2009.10.20
pythonchallenge level9  (0) 2009.10.16
pythonchallenge level8  (0) 2009.10.16
pythonchallenge level7  (0) 2009.10.16

badcob War game/pythonchallenge