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

2020. 6. 21. 19:31프로그래머스/LEVEL 1

class Solution {
    public long solution(long n) {
        long answer = 0;
        int sqrt = (int)Math.sqrt(n);
        
        if(Math.pow(sqrt,2)==n){
            answer = (long) (sqrt+1)*(sqrt+1);
        }else{
            answer = -1;
        }
        
        
        return answer;
    }
}

1. 자료형을 잘 이용해야 했다.

2. Math.sqrt는 double형 루트값을 내보내주므로 이것을 int형으로 캐스팅하여 sqrt에 담는다.

3. 루트씌운값이 정수였다면 다시 제곱해주었을때 n이 되어야한다.

4. 조건을 만족하면 long으로 캐스팅하여 다시 answer을 정해주어야한다.