-
정수 제곱근 판별!
문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 조건
- n은 1이상, 50000000000000 이하인 양의 정수입니다.
입출력 예
문제 풀이
function solution(n) { let sqrt = Math.sqrt(n); return Number.isInteger(sqrt) ? Math.pow(sqrt + 1, 2) : -1; }
풀이입니다.
Math.sqrt(n)으로 n의 제곱근을 sqrt 변수에 저장해주고
Number.isInteger(sqrt)를 이용하여 sqrt가 정수인지 아닌지 판별해줍니다.
만약 정수가 맞다면 Math.pow()로 sqrt + 1 을 제곱해줍니다. 정수가 아니라면 -1를 리턴해줍니다.
다른 사람들의 풀이
function nextSqaure(n){ var result = 0; var x = 0; while (x*x < n){ x++; } if (x*x == n){ x++; result = x*x; }else{ result = 'no'; } return result; }
'코딩 기록 > 자바스크립트 알고리즘' 카테고리의 다른 글
(자바스크립트 알고리즘) 직사각형 별찍기 - kimyang-sun (0) 2020.10.11 (자바스크립트 알고리즘) 최대공약수와 최소공배수 - kimyang-sun (0) 2020.10.11 (자바스크립트 알고리즘) 제일 작은 수 제거하기 - kimyang-sun (0) 2020.10.11 (자바스크립트 알고리즘) 행렬의 덧셈 - kimyang-sun (0) 2020.10.11 (자바스크립트 알고리즘) x만큼 간격이 있는 n개의 숫자 - kimyang-sun (0) 2020.10.11 댓글