어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 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){
answer = 1;
}else{
answer = 2;
}
return answer;
}
}
sqrt를 1로 나눈 나머지가 0인지 체크한 이유는 sqrt가 정수인지 확인하기 위함!
제곱근 풀다가 sqrt() 라는 것을 처음 봐서 다시 레벨0으로 내려와 풀어보았다. 나는 n*n 이런식으로 생각했는데 Math 클래스에 이러한 것들이 있어서 공부해야겠다고 생각했다!!
Math.sqrt() : 제곱근
➡️ sqrt(n) : n의 제곱근
Math.pow() : 제곱
➡️ pow(x,y) : x를 y만큼 곱함