<Easy> Sqrt(x) (LeetCode : C#)

이도희·2023년 3월 29일
0

알고리즘 문제 풀이

목록 보기
41/185

https://leetcode.com/problems/sqrtx/

📕 문제 설명

음수가 아닌 정수 x가 주어질 때 루트 x를 반내림하여 가장 가까운 정수 반환 (반환되는 정수 또한 음수가 아닌 정수여야함)

내장 exponent function 사용 금지

  • Input
    정수 x
  • Output
    x 루트 씌운 후 반내림한 가장 가까운 정수

예제

풀이

public class Solution {
    public int MySqrt(int x) {

        if (x == 0) return 0;

        long mid = 0;
        long left = 1;
        long right = x;
        long ans = 0;

        while (left <= right)
        {
            mid = (left + right) / 2;
            if (mid * mid == x) return (int) mid;

            if (mid * mid < x)
            {
                left = mid + 1;
                ans = mid;
            }
            else
            {
                right = mid - 1;
            }
        }
        
        return (int) ans;
    }
}

결과

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글