문제 설명

정수 값 n이 주어졌을 때, 이 값의 제곱근을 출력하는 프로그램을 구현하세요.

단, n의 제곱근이 무리수일 경우 0을 반환합니다.


입력 형식

· n : 정수


출력 형식

· n의 제곱근을 정수로 반환


제약 사항

·  1 <= n <= 1000000


입출력 예시

· 예시1

      · 입력

      · n = 4

      · 출력 : 2

      · 설명 : 4의 제곱근은 2이므로, 2를 반환

 

· 예시2

      · 입력

      · n = 6

      · 출력 : 0

      · 설명 : 6의 제곱근은 무리수이므로, 0을 반환


작성 코드

class Solution {
    public int solution(int n) {
        double result = Math.sqrt(n);
        // result 변수의 값이 정수일 경우 해당 값을 반환, 아닐 경우 0을 반환
        return (int)(result == (int) result ? result : 0);
    }

    public static void main(String[] args) {
        Solution st = new Solution();
        int n = 4;
        System.out.println(st.solution(n));
    }
}

 

정답 코드

class Solution {
    public int solution(int n) {
        int result = 0;

        for (int i = 1; i < n + 1; i++) {
            if (n < i*i) {
                break;
            }

            if (n == i*i) {
                result = i;
                break;
            }
        }

        return result;
    }

    public static void main(String[] args) {
        Solution st = new Solution();
        int n = 4;
        System.out.println(st.solution(n));
    }
}