😎풀이

  1. lower, high로 최소 최대 범위 산정
  2. lowerhigh보다 낮다면 반복
    2-1. 중간 값 계산
    2-2. 현재 중간 값으로 예측
    2-3. 조건에 맞게 최소 범위, 최대 범위 갱신
  3. 예측 값 반환
function guessNumber(n: number): number {
    let lower = 1, high = n
    while(lower <= high) {
        const mid = Math.floor((lower + high) / 2)
        const curr = guess(mid)
        if(curr === 0) return mid
        if(curr > 0) lower = mid + 1
        else if(curr < 0) high = mid - 1
    }
    return 0
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글