바이너리 서치 응용 문제

 

class Solution:
    def mySqrt(self, x: int) -> int:
        def BinarySearch(start, end, x):
            while start <= end:
                m = (start + end) // 2
                if m * m == x:
                    return m
                elif m * m < x:
                    start = m +1
                elif m * m > x:
                    end = m -1
            return end
        return BinarySearch(0, x, x)

Posted by 공놀이나하여보세
,