프로그래머스 풀이/level1

[Programmers] level 1) 문제 '정수 제곱근 판별' 풀이

진기명기 2023. 5. 7. 10:45
🫠 Programmers (level 1) 👉🏻 문제 7번 (정수 제곱근 판별)

✏️ 문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
✏️ 제한 사항
n은 1 이상, 50000000000000 이하인 양의 정수입니다.
✏️ 입출력 예
n       return
121   144
3       -1

 

 

 

 


function solution(n) {
  return Math.sqrt(n) % 1 === 0 ? Math.pow((Math.sqrt(n) + 1),2) : -1
}
✅ Math.sqrt(n) 👉🏻 n의 제곱근이 있는지 계산 
✅ Math.pow(n, 2) 👉🏻 n을 2번 제곱

💡Math.sqrt(n)이 소수로 나올 경우, % 1을 하면 나머지가 0이 나오지 않는다. 따라서 제곱근이 있는지 확인할 수 있다.