본문 바로가기
알고리즘 공부

프로그래머스 1단계 - 정수 제곱근 판별

by 코딩 냠냠 2022. 11. 13.
728x90
반응형

정수 제곱근 판별


문제 설명

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

제한 조건

🐭n은 1이상, 50000000000000 이하인 양의 정수입니다.

입출력 예시

n return
121 144
3 -1

🐭내가 한 풀이

제곱근을 어떻게 판단하는지 고민을 하게 되었다... 인터넷에 찾아보니 Math.sqrt()를 통해 숫자의 제곱근을 반환할수 있는 메서드를 알수 있었다...!

const n = 144;
function solution(n) {
    var answer = 0;
    if(Math.sqrt(n) % 1 !== 0){
        return answer = -1;
    } else {
        return answer = (Math.sqrt(n)+1)*(Math.sqrt(n)+1)
    }
}

🐭다른 풀이

다른 풀이를 찾아보니 메서드를 사용하지 않고도 해결할수 있는것 같다.

function nextSqaure(n){
  var result = 0;
  var x = 0;
  while (x*x < n){
    x++;
  }
  if (x*x == n){
    x++;
    result = x*x; 
  }else{
    result = 'no';
  }

  return result;
}

댓글


자바스크립트

Javascript

자세히 보기
html
css
광고 준비중입니다.
<