알고리즘

프로그래머스 - 정수 제곱근 판별

Heidong 2022. 4. 23. 00:06
반응형

 

public class P_12 {
    public static long sol(long n) {
        // 정수 제곱근 판별

        double x = Math.sqrt(n); // 제곱근
        long ans;

        if(Math.pow((int)x, 2) == n) {
            ans = (long)Math.pow(x+1, 2);
        } else {
            ans = -1;
        }

        return ans;

    }

    public static void main(String[] args) {
        long x = 1;

        System.out.println(sol(x));
        
    }
}

 

* Math 메소드 이용해서 풀이

Math의 sqrt() 메소드 = 인수의 제곱근을 구해준다. (double 형만 입력 가능, 출력도 double형)

Math의 pow() 메소드 = pow(n, m) n의 m승을 구해준다. (마찬가지로 double형만 입력 가능)

 

Math 메소드의 double 출력형을 int로 형 변환을 하면 뒷 소수점 자리가 떨어지고 앞 자리만 남는다.

그걸 이용해서 if 비교문으로 제곱을 구한다.

 

반응형