728x90
문제
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
해결 과정
function solution(n) {
var answer = 0;
for(let i = 0; i*i <= n; i++) {
if(i*i === n){
return 1;
}
}
return 2;
}
return 2;를 for문 밖으로 뺀이유는 제곱수를 다 판단하고 없을 경우에 2를 반환하기 위해서이다.
새롭게 알게된 점
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}
Number.isInteger(https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger)은 정수인지를 판별하고
Math.sqrt(https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt) 는 제곱근을 반환한다.
728x90