임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
class Solution {
public long solution(long n) {
long answer = 0;
return answer;
}
}
//매개변수 n의 제곱근을 double d = Math.sqrt(n)으로 구해서
//삼항연산자로 (long)d가 d인지 계산
class Solution {
public long solution(long n) {
long answer = 0;
double d = Math.sqrt(n);
answer = Math.sqrt(n) == (long)d ? (long)((d+1)*(d+1)) : -1L;
return answer;
}
}
//Math.pow 사용
class Solution {
public long solution(long n) {
double i = Math.sqrt(n);
return Math.floor(i) == i ? (long) Math.pow(i + 1, 2) : -1;
}
}