[프로그래머스] 정수 제곱근 판별 (JAVA)

업데이트:

문제 설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.



  • 제한 조건

n은 1이상, 50000000000000 이하인 양의 정수입니다.


  • 예시

image




풀이

class Solution {
    public long solution(long n) {
        
        long answer = 0;
        
        for(long i=1; i<=n; i++){
            

            if( i*i == n){
                answer = (i+1)*(i+1);
                break;
            }else{
                answer = -1;
            }
        }
        
        return answer;
    }
}


반복문을 이용해서 1~n 사이의 수에서 ii == n인 것을 찾는다.
찾고나면 break;를 통해서 반복문을 종료한다.
n이 121인 경우 121까지 반복문이 실행되는데, i가 11이 됐을 때 11
11 이 121이므로 11의 제곱으로 판단이 돼 반복문이 종료된다.




댓글남기기