정수 제곱근 판별

젬마·2023년 2월 21일
0

문제

문제 설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

제한 사항

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

풀이

나의 코드

function solution(n) {
    return Number.isInteger(Math.sqrt(n)) ? Math.pow((Math.sqrt(n) + 1) , 2) : -1
}

설명

  • 삼항연산자 사용 => n의 제곱근(x)이 정수인지 판별하여 참이라면 (x+1)의 제곱 : 거짓이라면 -1을 반환함
  • Number.isInteger(x)
    • x가 정수인지 판별하는 함수. 결과를 boolean으로 반환
  • Math.sqrt(x)
    • x의 제곱근을 반환하는 함수
  • Math.pow(base, component)
    • base에 component를 제곱한 값을 반환하는 함수 (base ^ component)
    • ex) Math.pow(2, 3) = 8
profile
취준생은 프론트엔드의 꿈을 꾸는가

0개의 댓글