https://programmers.co.kr/learn/courses/30/lessons/12934
function solution(n) {
var answer = 0;
if(n === 1){
answer = 4;
} else {
for(var i=0; i<Math.floor(n/2); i++){
if(i*i === n){
answer = (i+1)*(i+1);
break;
}else{
answer = -1
}
}
}
return answer;
}
2이상일 경우 n*n > 2*n이라서 n/2를 기준으로 잡음.
Math.sqrt() 이용해보기=> 위의 코드보다 훨씬 빠름.
function solution(n) {
var answer = 0;
var temp = Math.sqrt(n);
if(temp === Math.floor(temp)){
answer = (temp + 1)*(temp+1);
}else{
answer= -1;
}
return answer;
}
function solution(n) {
var answer = 0;
for (var i= 1; i <= n; i++){
if (i * i === n) {
answer = (i + 1) * (i + 1);
break;
} else {
answer = -1;
}
}
return answer;
}
Math method - Math.floor(), Math.sqrt()