본문 바로가기
Coding Test/프로그래머스

[JavaScript] 제곱수 판별하기

by 노 코딩 노 라이프 2023. 4. 28.

문제설명

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 1,000,000

입출력 예

입출력 예 #1

  • 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.

입출력 예 #2

  • 976은 제곱수가 아닙니다. 따라서 2를 return합니다.

소스코드&결과

function solution(n) {
    var answer = Math.sqrt(n);
    return Number.isInteger(answer) ? 1 : 2;
}

코드 설명

var answer = Math.sqrt(n);
  • answer값에 Math.sqrt()를 이용하여 n의 제곱근을 구해주었다. Math.sqrt()는 제곱근을 구해주는 함수이다.
  • 만약 Math.sqrt()에 제곱수 말고 다른 값을 넣으면 부동소수점값이 나오게 된다.

return Number.isInteger(answer) ? 1 : 2;
  • 따라서 정수인지 아닌지 확인할 수 있는 Number.isInteger()함수를 이용하여 정수인지 아닌지 판별해주었다.
    true일 경우에는 정수이므로 1를 리턴해주었고, false일 경우에는 정수가 아닌경우로 2를 리턴해주었다.

'Coding Test > 프로그래머스' 카테고리의 다른 글

[JAVA] 예산  (0) 2023.05.05
[JAVA] 이상한 문자 만들기  (0) 2023.05.02
[JavaScript] 배열 만들기 1  (0) 2023.04.28
[JavaScript] 두 수의 연산 값 비교하기  (0) 2023.04.20
[JavaScript] 배열 원소의 길이  (0) 2023.04.19