🧬알고리즘/Programmers

[JavaScript] 정수 제곱근 판별

뉴발자 2024. 8. 20. 18:17
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제

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

 

n이 양의 정수 x의 제곱근이라면 x+1의 제곱을 리턴하고,

 

n이 양의 정수 x의 제곱근이 아니라면 -1을 리턴하는 함수를 작성하라.

 

 

예시

n return
121 144
3 -1

 

 

나의 풀이

const solution = n => Math.sqrt(n) % 1 === 0 ? Math.pow(Math.sqrt(n)+1, 2) : -1;

 

 

풀이 방법

먼저 Math.sqrt() 함수를 사용해서 제곱근인지 아닌지 판단한다.

 

제곱근이라면 양의 정수 값을 반환하고,  제곱근이 아니라면 실수 값이 반환된다.

 

만약 1로 나눈 나머지가 0이라면 해당 정수가 제곱근이라고 판단한다.

 

x가 양의 정수 n의 제곱근이라면 Math.pow()와 Math.sqrt() 함수를 사용해서 x+1의 제곱근을 구해 반환한다.

 

x가 양의 정수 n의 제곱근이 아닐 경우 -1을 반환한다.

 

 

 

 

 

 

 

 

 

 

728x90