bangdy   7년 전

제 소스는 아래와 같은데요.

제 컴퓨터에서 돌려봐서는 예제는 제대로 나오고, 함수도 잘 돌아가는데

런타임오류가 나내요.. 

고수님, 답변 좀 부탁드릴게요 ㅠ 

아 그리고, 런타임 오류가 어떨 때 나는지도 알려주시면 감사하겠습니다.


indioindio   7년 전

런타임오류는 파이썬의 경우 주로 리스트의 범위 밖을 참조하거나(인덱스가 틀려서) 재귀함수가 너무 깊게 불려서 그렇습니다.

이 경우에는 둘 다 인데요, 이진탐색의 인덱스가 조금 틀려서 함수가 끝나지 않고 무한히 불리게 되네요

임의로 생성한 입력에 대해서 다음과 같은 순서로 호출되었습니다.

0 99999
50000 99999
75000 99999
75000 87498
75000 81248
78125 81248
79687 81248
79687 80466
80077 80466
80272 80466
80272 80368
80272 80319
80272 80294
80272 80282
80272 80276
80272 80273
80272 80271
80272 80271
80272 80271
80272 80271
80272 80271

.....



indioindio   7년 전

이건 여담인데요

A = list(map(int,sys.stdin.readline().strip().split(' ')))

A = [int(x) for x in input().split()]

int((a+b)/2)를

(a+b)//2

로 고쳐보시는 건 어떨까 싶네요

댓글을 작성하려면 로그인해야 합니다.