인프런 커뮤니티 질문&답변

과연님의 프로필 이미지
과연

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

10. 이분검색

조건 질문

작성

·

175

0

질문있습니다 ~!

조건문에 lt <= rt 말고 true로 작성하는 것도 괜찮은 건가요?

            while (true) {
                let mid = Math.floor((left + right) / 2);
                if (arr[mid] === target) {
                    answer = mid + 1;
                    break;
                } else if (arr[mid] > target) right = mid - 1;
                else left = mid + 1;

            }

 

 

답변 1

0

탈출조건이 없다면, 찾는 값이 없을때 무한루프에 빠질 수 있습니다. 위 코드에 target 값을 34로 설정해보시면 확인하실 수 있습니다.

문제조건에는 target이 주어진 숫자중 있다고 명시되어 있어서 괜찮겠지만, 해당 알고리즘을 이용해 다른 이분검색 문제를 푸시려면 탈출조건은 세워두시는 게 좋습니다!

과연님의 프로필 이미지
과연

작성한 질문수

질문하기