LeetCode) 69. Sqrt(x)

·2021년 11월 15일
0

Leet_code(Easy)

목록 보기
18/20

제곱근을 구하는 문제.

Language: java

class Solution {
    public int mySqrt(int x) {
        if (x == 0) return 0;

        int low = 1, high = x;

        while (low <= high) {
            int mid = low + (high - low)/2;

            if ( (mid <= (x / mid) ) && ( (mid + 1) > (x / (mid + 1)) ) ) {
                return mid;
            } else if (mid <= x / mid) {
                low = mid + 1;
            } else {
                high = mid - 1;
            }
        }

        return low;
    }
}

제곱근을 구하는 문제였는데 ... 결국 도저히 못 구하겠어서
구글링하여 찾았다. 근데 왜 이렇게 짜는 지 모르겠다 ...
다들 이유나 설명없이 저렇게 짰기에 일단 냅뒀는데 ...
최근에 공부한 정렬 종류 중 하나랑 비슷해보인다.

그리고 한국인 풀이가 찾기가 굉장히 어려웠다 ㅡ,.ㅡ
자바 함수인 .sqrt를 쓰는게 정신 건강에 좋을지도^^

profile
HAPPY !

0개의 댓글