경계 점검
이진 탐색 경계 제출 점검
반환 위치를 먼저 말하고, 그 의미에 맞는 갱신 규칙과 반례를 함께 고정합니다. 경계 탐색의 버그는 대부분 “무엇을 찾는 함수인지”가 코드보다 늦게 정해질 때 생깁니다.
전제
배열 정렬 여부와 판정 함수 단조성을 먼저 확인합니다. 참/거짓이 여러 번 뒤집히면 이진 탐색 대상이 아닙니다.
구간
[lo, hi) 또는 [lo, hi] 중 하나로 주석과 while 조건을 맞춥니다.
반환
lower/upper 기준을 이름/테스트에 고정합니다.
반례
빈 배열, 단일 원소, 중복, 양끝/범위 밖 target을 확인합니다.