정수 n이 양의 정수 x의 제곱인지 아닌지 판별하는 문제이다.
n의 범위가 매우 크기 때문에 제곱근을 판별할 수 있는 자바 메소드를 활용해야한다.
제곱근이란?
a의 제곱근이라 함은 제곱을 해서 a가 되는 모든 수를 의미한다. (양의 제곱근, 음의 제곱근)
Math.sqrt() 메소드는 제곱근을 구해주는 메소드이다.
문제에서 실수가 아닌 정수형인 long타입으로 n이 주어졌기 때문에 ans변수를 만들때 long타입으로 할당하고 Math.sqrt(n)사용해 n의 제곱근을 구해 ans에 넣어준다.
Math.pow() 메소드는 제곱을 원하는 만큼 해주는 메소드이다.
조건문에 n == Math.pow(숫자,제곱횟수)로 ans의 제곱을 구하는 메소드이다.
사실 Math.pow()메소드를 사용하지 않고 n == ans * ans 로도 충분히 비교가 가능하다.
자바 메소드를 적절히 사용하면서 문제를 푸는것도 자바의 응용력을 높여주기 때문에 메소드를 활용했다.