티스토리 뷰

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
63
64
65
arr=#words.txt
arr_length=len(arr)
count=0
for a in range(0,arr_length):
    sum=0
    for str_length in range(0,len(arr[a])):
        if(arr[a][str_length].find('A')!=-1):
                sum=sum+1
        elif(arr[a][str_length].find('B')!=-1):
             sum=sum+2
        elif(arr[a][str_length].find('C')!=-1):
            sum=sum+3
        elif(arr[a][str_length].find('D')!=-1):
            sum=sum+4
        elif(arr[a][str_length].find('E')!=-1):
            sum=sum+5
        elif(arr[a][str_length].find('F')!=-1):
            sum=sum+6
        elif(arr[a][str_length].find('G')!=-1):
            sum=sum+7
        elif(arr[a][str_length].find('H')!=-1):
            sum=sum+8
        elif(arr[a][str_length].find('I')!=-1):
            sum=sum+9
        elif(arr[a][str_length].find('J')!=-1):
            sum=sum+10
        elif(arr[a][str_length].find('K')!=-1):
            sum=sum+11
        elif(arr[a][str_length].find('L')!=-1):
            sum=sum+12
        elif(arr[a][str_length].find('M')!=-1):
            sum=sum+13
        elif(arr[a][str_length].find('N')!=-1):
            sum=sum+14
        elif(arr[a][str_length].find('O')!=-1):
            sum=sum+15
        elif(arr[a][str_length].find('P')!=-1):
            sum=sum+16
        elif(arr[a][str_length].find('Q')!=-1):
            sum=sum+17
        elif(arr[a][str_length].find('R')!=-1):
            sum=sum+18
        elif(arr[a][str_length].find('S')!=-1):
            sum=sum+19
        elif(arr[a][str_length].find('T')!=-1):
            sum=sum+20
        elif(arr[a][str_length].find('U')!=-1):
            sum=sum+21
        elif(arr[a][str_length].find('V')!=-1):
            sum=sum+22
        elif(arr[a][str_length].find('W')!=-1):
            sum=sum+23
        elif(arr[a][str_length].find('X')!=-1):
            sum=sum+24
        elif(arr[a][str_length].find('Y')!=-1):
            sum=sum+25
        elif(arr[a][str_length].find('Z')!=-1):
            sum=sum+26
    for i in range(1,20):
        number=(int)(i*(i+1)/2)
        if(number==sum):
            count=count+1
        else:
            continue
print(count)
cs



먼저 리스트의 각 원소마다 '단어값'을 구하고


그것을 일정 크기의 '삼각수'와 비교하여


'삼각단어'의 수를 셌다.

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

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