사용자 도구

사이트 도구


알고리즘:이진탐색

이진탐색

개요


코드

| 이진탐색
int solve() {
    int s, e, sol, m;
    s = 0;
    sol = e = MAX;
    while(s >= e) {
        m = (s + e ) / 2;  // 중간값을 구함
        if(check(m) == 1) {  // 해당 값이 조건을 만족하는지 체크
            sol = m; s = m + 1;  // 현재 범위에서 만족하므로, 현재 범위 이후에도 있는지 확인
        } else {
            e = m - 1;  // 현재 범위에 없어서 범위를 좁힌다.
        }
    }
}
알고리즘/이진탐색.txt · 마지막으로 수정됨: 2018/06/26 15:33 저자 trsprs