어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
n | result |
---|---|
144 | 1 |
976 | 2 |
class Solution {
public int solution(int n) {
if(Math.sqrt(n)%1 == 0){
return 1;
}else {
return 2;
}
}
}
Math.sqrt()메소드를 이용하니 짧은 문장으로 구현이 되었다.
Math.sqrt(n)%1 == 0 제곱수는 1로 나누었을 때 소수점 없이 0이여야한다.
Math.sqrt()
주어진 값의 제곱근을 계산하는 메소드
public static double sqrt(double a)
매개변수로 전달된 값 a의 제곱근을 계산하여 반환합니다.
반환 값은 double 형식이며, 음수가 아닌 실수인 경우에만 의미있는 결과를 갖습니다.
음수를 매개변수로 전달하면 NaN (Not a Number)이 반환됩니다.
public class SqrtExample {
public static void main(String[] args) {
double number = 16.0;
double result = Math.sqrt(number);
System.out.println("Square root of " + number + " is: " + result);
}
}
Math.sqrt(16.0)는 16의 제곱근을 계산하여 4.0을 반환합니다.
이 값을 출력하면 "Square root of 16.0 is: 4.0"이 됩니다.
주의: Math.sqrt 메소드는 매개변수로 음수를 받으면 NaN을 반환하며, 이는 "숫자가 아님"을 나타냅니다.
이와 관련된 예외를 피하려면 매개변수가 음수가 아닌지 먼저 확인할 수 있습니다.