728x90

문제


https://programmers.co.kr/learn/courses/30/lessons/12934

 

코딩테스트 연습 - 정수 제곱근 판별

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

programmers.co.kr

 

코드


function solution(n) {
  let i = 1;
  while (i * i <= n && i * i !== n) {
    // 어떤 제곱수가 n이하이고, 그 제곱수가 n이 아닐때까지 반복하며 i++
    i++;
  }
  if (i * i === n) return (i + 1) * (i + 1);
  //어떤 제곱수가 n이하일 때, 그 수 중에서 n의 제곱근이 되는 i가 있다면 (i+1)의 제곱수 출력
  else return -1; //없다면 -1 출력
}

+ Recent posts