[프로그래머스 lev1/JS] 정수 제곱근 판별

woolee의 기록보관소·2022년 10월 22일
0

알고리즘 문제풀이

목록 보기
5/178

문제 출처

프로그래머스 lev1 - 정수 제곱근 판별

문제 요약

임의의 양의 정수 n이 어떤 양의 정수 x의 제곱근인지 판별하기.
양의 정수 n이 양의 정수 x의 제곱근이면 x+1의 제곱근을 반환하고, 아니라면 -1을 반환하기.

나의 풀이

따로 제곱근을 변수로 만든 뒤 비교하기

function solution(n) {
  let answer = 0;
  let num = Math.sqrt(n);
  if (num === parseInt(num)) {
    answer = (num+1)*(num+1); 
  } else answer = -1; 
  return answer;
}

console.log(solution(121));

다른 풀이

정수 판별을 num%1==0으로 하다니...0o0

function solution(n){
  var result = 0;
  var k = Math.sqrt(n);
  if(k%1 == 0){
    result = (k+1)*(k+1);
  }else{
    result = -1;
  }

  return result;
}

Math.sqrt() 메서드를 쓰지 않은 풀이

function solution(n){
  var result = 0;
  var x = 0;
  while (x*x < n){
    x++;
  }
  if (x*x == n){
    x++;
    result = x*x; 
  }else{
    result = -1;
  }

  return result;
}

console.log(solution(121));
profile
https://medium.com/@wooleejaan

0개의 댓글