프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 제곱수 판별하기(Java)

Sigfriede 2023. 3. 30. 18:41

  문제 설명

  어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 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의 결과값을 도출해야하므로 마찬가지로 삼항 연산자를 사용할 수도 있겠습니다.