문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 <= n <= 1,000,000
 
입출력 예
| n | result | 
| 144 | 1 | 
| 976 | 2 | 
class Solution {
    public int solution(int n) {
        int answer = 0;
        if (Math.sqrt(n) % 1 == 0) {
            answer = 1;
        } else {
            answer = 2;
        }
        return answer;
    }
}
제곱수를 판별하기 위해서 제곱근을 활용할 수 있습니다. 만약 n의 제곱근을 1로 나눈 나머지가 0으로 맞아떨어진다면 n은 제곱수라고 판단할 수 있습니다. 이를 위해 제곱근을 구하는 Math 클래스의 sqrt 메소드를 이용했습니다. 1 또는 2의 결과값을 도출해야하므로 마찬가지로 삼항 연산자를 사용할 수도 있겠습니다.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
| [프로그래머스 코딩테스트] 문자열 정렬하기(2)(Java) (0) | 2023.03.31 | 
|---|---|
| [프로그래머스 코딩테스트] 세균 증식(Java) (0) | 2023.03.31 | 
| [프로그래머스 코딩테스트] 문자열 안에 문자열(Java) (0) | 2023.03.30 | 
| [프로그래머스 코딩테스트] 자릿수 더하기(Java) (0) | 2023.03.30 | 
| [프로그래머스 코딩테스트] 369게임(Java) (0) | 2023.03.30 |