https://school.programmers.co.kr/learn/courses/30/lessons/120909
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n
이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
1 ≤ n ≤ 1,000,000
n | result |
---|---|
144 | 1 |
976 | 2 |
144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
976은 제곱수가 아닙니다. 따라서 2를 return합니다.
class Solution {
public int solution(int n) {
int answer = 0;
if(Math.sqrt(n)%1==0.0){
answer=1;
}
else{
answer=2;
}
return answer;
}
}
Math.sqrt()
는 제곱근을 구하는 메소드이다. 그러나, 자연수를 제곱했을 때의 제곱수인지 아닌지를 판별하기 때문에, 만약 Math.sqrt(n)%1==0.0
이면 자연수가 아니기 때문에 if문으로 !=
인 것을 자연수로 보고 1
을 반환하고 아니면 2
를 반환했다.