임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
n의 제곱근을 구하고,
그 제곱근이 정수인지 아닌지 확인한 후,
정수이면 (제곱근 + 1)의 제곱을 반환,
정수가 아니면 -1을 반환합니다.
function solution(n) {
const sqrt = Math.sqrt(n)
return Number.isInteger(sqrt) ? (sqrt+1) ** 2 : -1
}
Math.sqrt()
제곱근(square root)을 구하는 메서드. 주어진 숫자의 양의 제곱근을 반환하며, 이는 그 숫자를 두 번 곱한 값이 원래 숫자가 되는 수를 의미한다.
Math.sqrt(x)
console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(16)); // 4
console.log(Math.sqrt(2)); // 약 1.4142135623730951
console.log(Math.sqrt(-1)); // NaN (음수는 제곱근을 가질 수 없음)
Number.isInteger()
주어진 값이 정수인지 판별하는 메서드. 이 메서드는 주어진 숫자가 정수이면 true를 반환하고, 그렇지 않으면 false를 반환한다.
Number.isInteger(value)
console.log(Number.isInteger(4)); // true
console.log(Number.isInteger(4.0)); // true (정수로 표현 가능)
console.log(Number.isInteger(4.5)); // false
console.log(Number.isInteger(-3)); // true
console.log(Number.isInteger("5")); // false (문자열)
console.log(Number.isInteger(NaN)); // false (Not-a-Number)
console.log(Number.isInteger(undefined)); // false
console.log(Number.isInteger(null)); // false
까마득한 순위. 10000안에 들어가는 그날 까지 화이팅!