[Programmers][Java] 제곱수 판별하기

Myung A Lee·2023년 7월 31일
0

CodingTest

목록 보기
4/11
post-thumbnail

[level 0] 제곱수 판별하기 - 문제 링크

문제 설명

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.


제한사항
  • 1 ≤ n ≤ 1,000,000

입출력 예
n result
144 1
976 2

나의 답안

내 코드는 하나하나 비교해서 답을 찾았는데 활용할 수 있는 Math 클래스가 있어서 기록해 둔다.

class Solution {
    public int solution(int n) {
        int answer = 2;
        for(int i=1; i<n; i++){
            if(n/i == i && n%i == 0){
                answer = 1;
                break;
            }
        }
        return answer;
    }
}

Math.sqrt()

class Solution {
    public int solution(int n) {
        int answer = 0;
        return Math.sqrt(n) % 1 == 0 ? 1 : 2;
    }
}

Math 클래스

Math.abs(x) : 주어진 숫자 x의 절댓값을 반환
Math.max(a, b) : 두 개의 숫자 a와 b 중 큰 값을 반환
Math.min(a, b) : 두 개의 숫자 a와 b 중 작은 값을 반환
Math.round(x) : 주어진 숫자 x를 반올림하여 가장 가까운 정수를 반환
Math.ceil(x) : 주어진 숫자 x보다 크거나 같은 가장 작은 정수를 반환
Math.floor(x) : 주어진 숫자 x보다 작거나 같은 가장 큰 정수를 반환
Math.sqrt(x) : 주어진 숫자 x의 제곱근을 반환
Math.pow(x, y) : x의 y 거듭제곱을 계산하여 반환
Math.random() : 0 이상 1 미만의 무작위 double 형태의 값을 반환

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

0개의 댓글