프로그래머스 #JS - 정수 제곱근 판별하기

SSO·2020년 1월 13일
0

프로그래머스Lv1

목록 보기
25/47

문제

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

풀이

  1. 2020
function solution(n) {
    var answer = 0;
      if(n === 1){
        answer = 4;
      } else {
          for(var i=0; i<Math.floor(n/2); i++){
            if(i*i === n){
              answer = (i+1)*(i+1);
              break;
            }else{
              answer = -1
            }
          }
      } 
            return answer;
}

더 생각해보기

   2이상일 경우 n*n > 2*n이라서 n/2를 기준으로 잡음.
  Math.sqrt() 이용해보기=> 위의 코드보다 훨씬 빠름.

function solution(n) {
    var answer = 0;
    var temp = Math.sqrt(n);
    
    if(temp === Math.floor(temp)){
        answer = (temp + 1)*(temp+1);
    }else{
        answer= -1;
    }
    return answer;
}
  1. 2019
function solution(n) {
    var answer = 0;
    for (var i= 1; i <= n; i++){
      if (i * i === n) {
        answer = (i + 1) * (i + 1);
        break;
      } else {
        answer = -1;
      }
    }

    return answer;
}

참고사항

Math method - Math.floor(), Math.sqrt()

profile
happy

0개의 댓글