본문 바로가기
알고리즘

[Programmars] 정수 제곱근 판별 (JavaScript)

by 프린벼르 2022. 2. 4.

정수 제곱근 판별 문제

1. 나의 생각 흐름

제곱근 문제니까 Math.sqrt()를 사용해서 문제를 풀어나가야겠다고 생각했다. 그랬는데 제곱에 관한 부분도 풀어줘야해서 찾아보니 Math.pow()를 사용하면 좋겠다고 생각했다. 그래서 두 개념을 가지고 문제를 풀어나갔다.

2. 나의 코드 정리

function solution(n) {
    let answer = 0;
    let x = Math.floor(Math.sqrt(n));
    if(n === Math.pow(x,2)){answer = Math.pow(x+1,2);}
    else{answer = -1;}
    return answer;
}

처음에는 Math.floor를 써주지 않아서 에러가 계속 났었다. 왜그런지 몰라서 계속 찾아보다가 Math.floor를 써주니 한방에 해결되었다. 아마도 제곱근이다보니 정수가 아닌 소수점이 나와서 그런것 같다.

- 자바스크립트 pow / sqrt 란?
    pow특정숫자의 거듭제곱 값을 계산해주는 함수이며,   sqrt특정숫자의 제곱근 값을 계산해주는 함수

- pow 사용법
    Math.pow(대상 숫자, 거듭제곱 횟수);​
 
 - sqrt 사용법
    Math.sqrt(대상 숫자);

3. 다른 사람들의 코드

function nextSqaure(n){
  switch(n % Math.sqrt(n)){
    case 0:
      return Math.pow(Math.sqrt(n) + 1, 2);
    default:
      return -1;
  }
}

4. 결론

Math 함수에 관련한 메소드들이 다양한 것 같다. 이번 기회에 그걸 정리하는 시간을 가져야겠다.

 

댓글