티스토리 뷰

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
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함