이진 검색 알고리즘 (Binary search algorithm)또는 슬라이딩 윈도우 방법을 활용하여, 시작과 끝 범위를 좁히는 알고리즘 입니다.
다음은 중간 값을 비교해서 이상, 이하로 검색 범위를 좁히는 방식(이진 검색)에서 착한한 문제 풀이 패턴 입니다.

범위 검색 패턴

시작 범위, 종료 범위 중 조건을 검사하여 좁히는 문제에 사용하는 방식, 이중 For문 출제 문제에서 O(N^2) 을 O(N) 수준으로 복잡도를 졸이기 위해서 사용됩니다.

int s = 0;
int e = 10000; // 종료 지점

int m = -1; 

while ( s <= e ){
    m = (s+2)/2; // 중간 값
    if( check_function(m) ){
        s = m+1;
    }else{
        e = m-1;
    }
}

// check_function 
//s 값을 조정할지, e 값을 조정할지 판단하는 함수를 구현
s = 0
e = 10000

while  s <= e :
    m = (s+2)//2; 
    if check_function(m):
        s = m+1
    else
        e = m-1
    
# check_function 
#s 값을 조정할지, e 값을 조정할지 판단하는 함수를 구현