파이썬 메모리 초과 오류
조회수 624회
list_1 = []
list_2 = []
list_3 = []
odd_num = {1,3,5,7,9}
for i in range(1,1000000001):
str1 = str(i)
if int(str1[-1]) != 0:
list_1.append(i)
for i in list_1:
temp = i + int(str(i)[::-1])
list_2.append(temp)
for i in list_2:
str1 = str(i)
list_temp = []
for j in range(0,len(str1)):
list_temp.append(int(str1[j]))
if set(list_temp) | odd_num == odd_num:
list_3.append(i)
print(len(list_3))
알고리즘 문제를 푸는데 10억으로 범위를 잡아서 메모리가 에러가 납니다. 아마 오버플로우 되는 거 같은데 64비트 파이썬을 깔면 해결이 되나요? 어떤 분들은 넘파이의 어레이를 쓰면 된다고 하는데 제가 넘파이를 안 배워서 그런데 넘파이 어레이에서 append와 같은 함수가 있나요?
혹시 64비트 파이썬에서 이 코드좀 돌려주실 분 없나요? 회사에서 풀었는데 컴퓨터가 xp라 64비트가 안 됩니다. 답만 알면 되는데
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력