제곱 수 판별하기
문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 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합니다.
코드
class Solution {
public int solution(int n) {
int answer = 0;
return answer;
}
}
풀이
class Solution {
public int solution(int n) {
int answer = 0;
if(Math.sqrt(n) % 1 == 0){
answer = 1; //제곱수
}
else{
answer = 2; //제곱수가 아님
}
return answer;
}
}
- 제곱수 : 어떤 자연수를 제곱하여 구해지는 수
- 제곱근을 구했을 때, 소수자리가 남지 않고 1로 나눈 나머지가 0
- Math.sqrt() => 괄호 안 숫자의 제곱근 값을 계산해주는 함수
Math.sqrt(double a) => a의 제곱근
Math.sqrt(음수 / NaN) => NaN
Math.sqrt(0) => 0
https://school.programmers.co.kr/learn/courses/30/lessons/120909