임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
내 실력이 아직 문제를 보고 바로바로 코드를 짤 실력이 아니기에 단계적으로 표현해보기로 했다.
일단 n이 양의 정수 x의 제곱인지 판단하는 부분을 아래와 같이 코딩했다.
function solution(n){
return Number.isInteger(Math.sqrt(n)) ? true : false;
}
solution(4);// 결과값 : true
이제 위 코드의 true 자리에 Math.pow함수를 통해 양의 정수 x+1의 제곱을 구하고
false 자리에 -1을 넣어준다.
function solution(n){
return Number.isInteger(Math.sqrt(n)) ? Math.pow(Math.sqrt(n)+1,2) : -1;
}
solution(4); // 결과값 ; 9