정수 제곱근 판별 (자바)

김재현·2024년 4월 17일
0

알고리즘 풀이

목록 보기
69/89

문제

정답 코드

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        for(long i=1;i*i<=n;i++) {
            if(i*i==n) {
                return (i+1)*(i+1);
            }
        }
        
        answer = -1;
        
        return answer;
    }
}

for문으로 제곱근까지 돌리며, 존재한다면 값이 나오게 return한다.
존재하지 않는다면 -1로 return 시켰다.

다른 사람 풀이

class Solution {
  public long solution(long n) {
      if (Math.pow((int)Math.sqrt(n), 2) == n) {
            return (long) Math.pow(Math.sqrt(n) + 1, 2);
        }

        return -1;
  }
}

Math.sqrt(a,b)로 제곱근을 구한 뒤, 이것이 정수인지 확인하는 것 만으로도 쉽게 풀이가 가능했다!

  • Math.sqrt(a,b) : b제곱근 a
  • Math.pow(a,b) : a의 b제곱
profile
I live in Seoul, Korea, Handsome

0개의 댓글