티스토리 뷰
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 |
댓글