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 함수에 관련한 메소드들이 다양한 것 같다. 이번 기회에 그걸 정리하는 시간을 가져야겠다.
'알고리즘' 카테고리의 다른 글
[Programmars] 문자열 다루기 기본 (JavaScript) (0) | 2022.02.04 |
---|---|
[Programmars] 문자열 내에 p와 y의 개수 (JavaScript) (0) | 2022.02.04 |
[Programmars] 약수의 개수와 덧셈 (JavaScript) (0) | 2022.02.04 |
[Programmars] 약수의 합 (JavaScript) (0) | 2022.02.04 |
[Programmars] 자릿 수 더하기 (JavaScript) (0) | 2022.02.04 |
댓글