본문 바로가기

💻 개발자/🖥 알고리즘 문제

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

반응형

문제 설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려고 한다.
n의 양의 정수 x의 제곱이라면, x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하자.

 

입출력 예시

n return
121 144
3 -1

 

문제 풀이

function solution(n) {
  let answer = 0;
  let sqrt = Math.sqrt(n)
  // n의 제곱근을 구하는 메소드를 활용했다.
  
  if(sqrt === parseInt(sqrt)) { 
  // parseInt 메소드를 활용해서 n이 양의 정수의 제곱인지 확인했다.
  
    answer = Math.pow(sqrt + 1, 2) 
    // 제곱값이 맞다면 제곱근에 1을 더한 값에 제곱을 해준다.
    
  } else {
    answer = -1
    // 제곱값이 아니라면 answer에 -1을 할당해준다.
  }
  return answer;
}

 

 

반응형