정수 제곱근 판별

문제

 


나의 생각

 

매개변수 값의 제곱근을 만들어 하나는 원본그대로, 하나는 소수점을 뺀 상태로 나누어 1이 나오면 +1 한값의 제곱 아니면 -1로 생각하며 접근.

 


나의 답안

 

public static long solution(long n) {
    long answer = 0;
    double a = Math.sqrt(n);
    double v = a / (int)a;

    System.out.println(v);
    if (v == 1){
        answer = (long) Math.pow(a+1, 2);
    } else {
        answer = -1;
    }

    return answer;
}

다른 답안

 

제곱근을 다시 제곱을 해서 매개 변수와 값이 같을 때 하는 방식.

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;
  }
}

'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글

짝수와 홀수  (0) 2023.03.12
문자열을 정수로 바꾸기  (0) 2023.02.28
콜라츠 추측  (0) 2023.02.27
평균 구하기  (0) 2023.02.27
핸드폰 번호 가리기  (0) 2023.02.24