Algorithm/programmers
programmers 정수 제곱근 판별
wow
2022. 1. 16. 16:26
https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
문제 분석
- Math의 제곱근을 구할 수 있는 sqrt함수를 사용하여 입력받은 숫자가 어떤 수의 양의 제곱이라면 어떤 수에 1을 더하고 제곱하여 반환한다.
- 어떤 수의 양의 제곱이 아니라면 -1을 반환한다.
문제 풀이
1. Math.sqrt를 사용하여 제곱근을 구하고 해당 숫자를 1로 나누어 나머지가 0인 경우 양의 제곱근이기때문에 구한 제곱근에 1을 더하고 다시 제곱을 구한다.
2. 양의 제곱근이 아닌 경우 answer에 -1을 넣고 출력한다.
import java.lang.Math;
class Solution {
public long solution(long n) {
long answer = 0;
if(Math.sqrt(n)%1==0){
answer = (long)Math.pow((Math.sqrt(n)+1),2);
}else{
answer = -1;
}
return answer;
}
}