작성자 | marine12 | ||
---|---|---|---|
작성일 | 2020-04-07 21:46:00 KST | 조회 | 549 |
제목 |
RecursionError: maximum recursion depth exceeded in comparison 오류 재귀함수 터진 건가요?
|
def find_median_five(L):
L.sort()
return L[len(L)//2]
def MoM(L, k): # L의 값 중에서 k번째로 작은 수 리턴
if len(L) == 1: # no more recursion
return L[0]
i = 0
A, B, M, medians = [], [], [], []
while i < len(L) and i+4 >= len(L):
medians.append(find_median_five(L))
i+=5
if i < len(L) and i+4 >= len(L):
median.append(find_median_five(L))
mom = MoM(medians, len(medians)//2)
for v in L:
if v < mom: A.append(v)
elif v > mom: B.append(v)
else: M.append(v)
if len(A)>=k: return MoM(A,k)
elif len(A)+len(M)<k: return MoM(B,k-len(A)-len(M))
else: return mom
n, k = (int(x)for x in input().split())# n과 k를 입력의 첫 줄에서 읽어들인다
L = [int(x) for x in input().split()]# n개의 정수를 읽어들인다. (split 이용 + int로 변환)
print(MoM(L, k))
이 코드에서 지금
> 10 3
-62 1 82 55 -48 63 47 -63 93 92
Makefile:6: recipe for target 'py3_run' failed
make: *** [py3_run] Error 1
Traceback (most recent call last):
File "Main.out", line 27, in <module>
print(MoM(L, k))
File "Main.out", line 15, in MoM
mom = MoM(medians, len(medians)//2)
File "Main.out", line 15, in MoM
mom = MoM(medians, len(medians)//2)
File "Main.out", line 15, in MoM
mom = MoM(medians, len(medians)//2)
[Previous line repeated 995 more times]
File "Main.out", line 6, in MoM
if len(L) == 1: # no more recursion
RecursionError: maximum recursion depth exceeded in comparison
오류가 이렇게 뜨는데 재귀함수쪽을 살펴 봐야겠죠?
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.