/*
문제 : n이 어떤 양의 정수 x의 제곱이면 x+1의 제곱, 아니면 -1을 리턴하라
자료 :
정수 n (양의 정수 x의 제곱)
조건 : 제곱이 아니면 -1 반환
계획 :
제곱근을 구해주는 Math.sqrt(number); 로 제곱근을 구해줌
Math.sqrt(144) = 12;
제곱근이 정수인지 판별함
정수면 x+1 의 제곱 아니면 -1 리턴
*/
const solution = (n) => {
const num = Math.sqrt(n);
if (num % 1 === 0) return (num + 1) * (num + 1);
return -1;
};
제곱근을 구해주는 Math.sqrt(number)
정수인지 판별 n % 1 === 0
const solution = (n) => {
const num = Math.sqrt(n);
if (num % 1 === 0) return (num + 1) * (num + 1);
return Number.isInteger(num) ? Math.pow(num + 1, 2) : -1;
};
다른 사람의 풀이
정수인지 판별을 isInteger(num) 으로 하고
제곱을
Math.pow(num + 1, 2) 로 하는 방법도 있는 걸 알았다.
'Algorithm' 카테고리의 다른 글
[JavaScript] 프로그래머스 - 문자열 내 p와 y의 개수 (0) | 2022.09.20 |
---|---|
[JavaScript] 프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) | 2022.09.20 |
[JavaScript] 프로그래머스 약수의 합 (0) | 2022.09.20 |
[JavaScript] 프로그래머스 level 1 - 평균 구하기 (0) | 2022.09.20 |
[JavaScript] 프로그래머스 level1 - k진수에서 소수 개수 구하기 (1) | 2022.09.20 |