[프로그래머스] Lv.1 정수 제곱근 판별 (JavaScript)

혜린·2022년 1월 6일
0
post-thumbnail

🔐 문제

  • 임의의 자연수 n이 주어짐
  • n이 어떤 양의 정수 x의 제곱인지 판별해야 함
  • n이 어떤 양의 정수 x의 제곱이라면 x+1의 제곱을 return, 그렇지 않다면 -1을 return 하는 함수를 완성시켜라

🔑 풀이

function solution(n) {
	let x = Math.sqrt(n);
  
  	if ( Number.isInteger(x) == true ) {
    	return Math.pow(x+1 , 2);
    } else {
    	return -1;
    }
}
  • nx의 제곱인지 판별하기 위해서는, n의 제곱근을 구해야한다 생각
  • 변수 xMath.sqrt() 사용해 n의 제곱근으로 먼저 선언함
  • x가 정수라면, xn의 제곱근이기 때문에 Number.isInteger()로 정수인지 판별
  • x가 정수가 맞다면 Math.pow() 를 사용해 x+1을 제곱한 값을 return해주고, 아니면 -1을 return하는 조건문 완성

💡 배운점

1. Math.pow(base, exponent)

  • base는 밑, exponent는 지수
  • base^exponent를 반환
  • (예) Math.pow(2, 3) 은 2의 3승으로 8이다

2. Math.sqrt(x)

  • x의 제곱근을 반환
  • 단, x가 음수면 NaN을 반환
  • sqrt()Math의 정적 메서드

3. Number.isInteger()

  • 주어진 값이 정수인지 판별해줌
  • 반환값은 Boolean(true, false)
profile
FE Developer

0개의 댓글