어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n
이 매개변수로 주어질 때, n
이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
n
≤ 1,000,000n | result |
---|---|
144 | 1 |
976 | 2 |
입출력 예 #1
입출력 예 #2
💡 문제풀이 과정
- 답안 1번:
Number.isInteger()
는 주어진 값이 정수인지 판별하는 메소드이다.Math.sqrt()
는 숫자의 제곱근을 반환하므로Number.isInteger(Math.sqrt(n));
이면 1 아니면 2를 리턴한다.- 답안 2번:
n의 제곱근
을1
로 나누었을 때 나누어 떨어지면 1을 반환 아니면 2를 반환한다. 아래 예제 참고 ⬇️
console.log(Math.sqrt(144)); //12 console.log(Math.sqrt(144) % 1); // 0 console.log(Math.sqrt(976)); //31.2409.... console.log(Math.sqrt(976) % 1); // 0.2409...
✅ 답안 #1
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}
✅ 답안 #2
function solution1(n) {
return Math.sqrt(n) % 1 == 0 ? 1 : 2;
}