From f6af5fa434ae435d6f0d03ec58486ef1337e659b Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Mon, 14 Sep 2026 22:20:14 +0900 Subject: [PATCH] Add guessNumber function using binary search Implement binary search to guess the number. --- .../374. Guess Number Higher or Lower" | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/374. Guess Number Higher or Lower" 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; + } + } +};