티스토리 뷰
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | for i in range(1,1000000): judgement=False arr=[[],[],[],[],[],[]] number=i for j in range(0,6): number_temp=number*(j+1) string=(str)(number_temp) for k in range(0,len(string)): arr[j].append(string[k]) list.sort(arr[j]) for i in range(0,6): if(arr[0]==arr[i]): judgement=True else: judgement=False break if(judgement==True): print(number) break #반환 시간 : 2.3s | cs |
같은 숫자로만 이루어지면 된다고 하니
각 자리수를 리스트에 넣고 sort()를 이용하여 오름차순으로 정렬하였다.
리스트의 각 요소들이 같은 숫자로 이루어져 있다면
정렬하였을 때 리스트의 값이 같을 것이므로
0번째 인덱스와 나머지를 모두 비교했을 때 같으면 답을 내고 반복문을 빠져나왔으며
하나라도 다르면 반복문을 다시 돌게 하였다.
'Algorithm > Project Euler' 카테고리의 다른 글
프로젝트 오일러 45번 (0) | 2017.07.08 |
---|---|
프로젝트 오일러 47번 (0) | 2017.07.08 |
프로젝트 오일러 2페이지 클리어! (0) | 2017.07.08 |
프로젝트 오일러 26번 (0) | 2017.07.08 |
프로젝트 오일러 37번 (0) | 2017.07.07 |
댓글