알고리즘, 코딩테스트

[프로그래머스/ 코딩테스트 연습문제] 정수 제곱근 판별

jy3574 2024. 10. 31. 10:01

Q. 정수 제곱근 판별

A.

class Solution {
    public long solution(long n) {
        long answer = 0;
        
//어떤 양의 정수 x 라 했으므로 x는 1부터 시작, x의 제곱이 n이 되야하니까 최대 n까지 x를 1씩 증가하면서 for문을 돈다.
//x제곱이 n이랑 같으면 x+1의 제곱을 반환, 다르면 -1을 반환
        for(long x = 1; x <= n; x++){
            if(x*x == n){
                answer = (x+1)*(x+1);
                break; //여기서 break를 써야 조건이 맞을 시 멈추고 빠져나온다.
            }else if(x*x != n){
                answer = -1;
            }
        }
        return answer;
    }
}