From d1ecc61dbd0d64f36f0286e95c5d7ec5d73dd01e Mon Sep 17 00:00:00 2001 From: rimgosu Date: Mon, 14 Sep 2026 01:44:09 +0000 Subject: [PATCH] 374 --- .../v3/374. Guess Number Higher or Lower.py" | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 "leetcode3/\353\263\200\354\247\200\355\230\221/v3/374. Guess Number Higher or Lower.py" diff --git "a/leetcode3/\353\263\200\354\247\200\355\230\221/v3/374. Guess Number Higher or Lower.py" "b/leetcode3/\353\263\200\354\247\200\355\230\221/v3/374. Guess Number Higher or Lower.py" new file mode 100644 index 00000000..7929cafe --- /dev/null +++ "b/leetcode3/\353\263\200\354\247\200\355\230\221/v3/374. Guess Number Higher or Lower.py" @@ -0,0 +1,32 @@ +''' +1. 아이디어: +이진탐색으로 풀이. +2. 시간복잡도: +o(log n) +3. 알고리즘: +이진탐색 +''' + +# The guess API is already defined for you. +# @param 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 +# def guess(num: int) -> int: + +class Solution: + def guessNumber(self, n: int) -> int: + current = n // 2 + 1 + + # while True: + while True: + # print(current) + g = guess(current) + + if g == -1: + n = current + current = n // 2 + elif g == 1: + current = (n + current + 1) // 2 + else: + return current