프로그래머스 정수 제곱근 판별 문제
처음에 while문을 이용해 cnt를 n까지 늘려가면서 문제를 푸려고 했으나, 제곱근이 아닌수를 판별하는 코드에서 런타임에러가 떠서 Math함수 이용. sqrt함수를 이용할수 있지만 그냥 해봤다. 자바는 제곱연산자가 없다;; 그래서 그냥 Math.pow()로 제곱근 판별 로직 구현.
Math.sqrt(); --> (타입 : double / 제곱근 구해줌.)
Math.pow(); --> (타입 : double / 원하는 제곱가능 (=파이썬'**'))
1.제곱근이 있는 수 구하는 법.
n이 입력되면 그 n을 0.5제곱을 해준다음 1로 나눴을 때의 나머지가 0이되면 제곱근이 있는 수!
class Solution {
public double solution(long n) {
long answer = 0;
int cnt = 0;
double x = Math.pow(n,(0.5));
if(x%1==0) return Math.pow(x+1,2);
else return -1;
}
}