Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

forest_moon

제곱수 판별하기 본문

알고리즘

제곱수 판별하기

rokga 2022. 11. 4. 23:42

문제 설명

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

 

제한사항

  • 1 ≤ n ≤ 1,000,000

입출력 예 설명

입출력 예 #1

  • 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.

입출력 예 #2

  • 976은 제곱수가 아닙니다. 따라서 2를 return합니다.

내 풀이.

 i <= 1000인 이유는 제한사항에 n<= 1,000,000 때문에.

 

for문을 이용해서  문제를 풀었다. 

class Solution {
    public int solution(int n) {
        for(int i=0; i<= 1000; i++) {
            if(i*i == n )
                return 1;
        }
        return 2;
    }
}

 

다른 사람의 풀이 중 마음에 들었던 풀이.

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

 

**

제곱근을 구하는 sqrt() 메서드

 

Math.Sqrt()란?

java.lang.Math클래스의 sqrt() 메서드

double타입의 인수를 전달하면 인수에 대한 double타입의 제곱근 값을 리턴해준다.

제곱근은 음수가 나올 수 없으므로 음수를 입력하면 NaN(Not a Number)을 리턴해줌.

 

Math.Sqrt(double d);

사용하여 d의 제곱근을 출력한다.

'알고리즘' 카테고리의 다른 글

해커랭크 MYSQL  (1) 2022.12.21
세균 증식  (0) 2022.12.16
나머지 구하기  (0) 2022.12.07
문자 반복 출력하기  (0) 2022.12.01
콜라 문제  (0) 2022.11.03