jj6014   1년 전

92%에서 계속 틀립니다.

일단 Edge Case에서 해결이 안되는 거 같은데,

start는 가능한 최솟값, end는 불가능 값으로 생각하여 mid값이 조건이 맞으면 (mid,end)로 조건에 맞지 않으면 (start, mid)로 접근했습니다.

그리고 재귀의 종료 조건은 start가 mid보다 크거나 같을 때로 하였는데, 이 말은 start와 end의 차이가 1밖에 나지 않는다는 뜻이므로, 기본적으로 start가 정답인 상황이 됩니다.

도저히 안 풀려서, 일단 종료조건을 start가 end보다 크거나 같을 때로 바꾸고,

분할 범위를 조건에 맞는 경우 (mid+1, end)로 안 맞는 경우 (satrt, mid-1)로 조정하니 통과되었습니다.

해당 코드에 어떤 반례가 있는 것일까요..?

kdyfloat   1년 전

[begin, end) 오른쪽 개방범위 이므로 line91에서 end += 1해야 하겠네요.

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