티스토리 뷰

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
number=366 #1901년 1월 1일
count=0
JANUARY=31
FEBURARY=28
MARCH=31
APIRL=30
MAY=31
JUNE=30
JULY=31
AUGUST=31
SEPTEMBER=30
OCTOBER=31
NOVEMBER=30
DECEMBER=31
def isLeapYear(a):
    if(a%7==0):
        return True
if(isLeapYear(number)):
    count=count+1
for year in range(1901,2001):
    #윤년 판정
    if(year%4==0):
        FEBURARY=29 
    number=number+JANUARY
    if(isLeapYear(number)):
        count=count+1
    number=number+FEBURARY
    if(isLeapYear(number)):
         count=count+1    
    number=number+MARCH
    if(isLeapYear(number)):
        count=count+1    
    number=number+APIRL
    if(isLeapYear(number)):
         count=count+1    
    number=number+MAY
    if(isLeapYear(number)):
        count=count+1    
    number=number+JUNE
    if(isLeapYear(number)):
        count=count+1   
    number=number+JULY
    if(isLeapYear(number)):
        count=count+1    
    number=number+AUGUST
    if(isLeapYear(number)):
        count=count+1    
    number=number+SEPTEMBER
    if(isLeapYear(number)):
        count=count+1    
    number=number+OCTOBER
    if(isLeapYear(number)):
        count=count+1    
    number=number+NOVEMBER
    if(isLeapYear(number)):
        count=count+1    
    number=number+DECEMBER
    if(isLeapYear(number)):
        count=count+1   
    FEBURARY=28
print(count)
 
cs



문제에서 1900년 1월 1일이 월요일임을 알려주었기 때문에 이 날짜를 기준으로 둔다.


따라서 1901년 1월 1일은 366이다.


number를 7로 나눴을 때 나머지가 0이면 일요일인 것이다.



윤년 판정 시, 어차피 1901년부터 2000년이기 때문에


다른 조건은 무시하고 4년마다 윤년인 조건만 적용하여 판정하였다.



최초 일요일 판정은 for문 밖에서 실행되고


이후에는 for문 안에서 실행된다.



이를 처음에는 모두 for문 안에서 실행되게 하였는데


그렇게 하면 12월에서의 판정이 두 번 실행되어 올바른 값이 나오지 않았다.

'Algorithm > Project Euler' 카테고리의 다른 글

프로젝트 오일러 18번  (0) 2017.07.03
프로젝트 오일러 13번  (0) 2017.07.03
프로젝트 오일러 17번  (0) 2017.07.03
프로젝트 오일러 48번  (0) 2017.07.03
프로젝트 오일러 42번  (0) 2017.07.02
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
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
글 보관함