프로그래머스 문제풀이/Level 1

정수 제곱근 판별 (자바, Java)

뮤츠 2022. 12. 17. 02:08

처음에 틀렸다. 테스트케이스 3, 6, 13이 틀림.

찾아보니, sqrt 메서드는 소수8번째자리까지만 반환하므로, ceil을 통해 소숫점 존재시 올림값을 주는게 안전하다고 한다.

 

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