본문 바로가기
Algorithm

[프로그래머스] 정수 제곱근 판별 | JavaScript

by Vintz 2021. 6. 5.
반응형

정수 제곱근 판별

문제 설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.

n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

제한 사항

  • n은 1이상, 50000000000000 이하인 양의 정수입니다.

입출력 예

n return
123 144
3 -1

코드

function solution(n) {
  const sqrt = Math.sqrt(n);

  // n은 양의 정수만 주어진다. 주어진 값이 정수가 아닐 경우 -1을 반환한다.
  if (!Number.isInteger(sqrt)) return -1;

  return (sqrt + 1) * (sqrt + 1);
}

 

자바스크립트 제곱근 구글링을 해보니 Math.sqrt( ) 메서드가 나왔다. 이 메서드는 매개변수에 숫자를 넣으면 제곱근을 반환한다. 만약 숫자가 음수일 경우 NaN을 반환한다.

반응형