문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 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 |