diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/374. Guess Number Higher or Lower" "b/leetcode3/\354\240\225\354\247\204\354\230\201/374. Guess Number Higher or Lower" new file mode 100644 index 00000000..cc87275f --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/374. Guess Number Higher or Lower" @@ -0,0 +1,30 @@ +/** + * Forward declaration of guess API. + * @param {number} num your guess + * @return -1 if num is higher than the picked number + * 1 if num is lower than the picked number + * otherwise return 0 + * var guess = function(num) {} + */ + +/** + * @param {number} n + * @return {number} + */ +var guessNumber = function(n) { + // 이진탐색 + // 시간복잡도: O(log n) + let start = 1; + let end = n; + while (start <= end) { + let mid = Math.floor((start + end)/2); + if (guess(mid) == 1){ + start = mid+1; + } else if (guess(mid) == -1){ + end = mid-1; + } else { + return mid; + break; + } + } +};