[프로그래머스] 정수 제곱근 판별 (JAVA)
업데이트:
문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
- 제한 조건
n은 1이상, 50000000000000 이하인 양의 정수입니다.
- 예시
풀이
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이 됐을 때 1111 이 121이므로 11의 제곱으로 판단이 돼 반복문이 종료된다.
공유하기
Twitter Google+ LinkedIn
댓글남기기