문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제한 사항
- 1 ≤ n ≤ 1,000,000
입출력 예
n | result |
144 | 1 |
976 | 2 |
입출력 예 설명
입출력 예 #1
- 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
입출력 예 #2
- 976은 제곱수가 아닙니다. 따라서 2를 return합니다.
풀이
function solution(n) {
let count = 0;
for(let i = 1; i<= n; i++) {
if (n % i === 0) count++;
}
return count % 2 === 0 ? 2 : 1;
}
내 생각 & 아무 말
재미있는 공식을 하나 봤는데, 제곱수는 약수가 홀수개라고 한다.
그래서 약수의 개수를 구한 뒤에 약수가 홀수라면 제곱수임을 판단했다.
수학은 어려워..
피드백은 언제나 감사합니다.