포스트

제곱수 판별하기

https://school.programmers.co.kr/learn/courses/30/lessons/120909

문제

  • 문제 풀이

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
      class Solution {
          public int solution(int n) {
              double sqrt = Math.sqrt(n);
              if (sqrt - Math.floor(sqrt) == 0) {
                  return 1;
              } else {
                  return 2;
              }
          }
      }
    
    • 제곱수인지 확인하는 방법으로는 해당 수의 제곱근을 구한 후, 그 제곱근이 정수인지를 확인하면 된다. Java에서는 Math.sqrt 함수를 사용하여 제곱근을 구할 수 있다.
    • 여기서는 제곱근의 소수점 아래 부분이 0인지를 확인하여 정수인지 여부를 판단한다.
    • Math.floor(sqrt)는 제곱근의 소수 부분을 제거해준다. 이를 이용하여 제곱수인지 여부를 판단하고, 그 결과에 따라 1 또는 2를 반환한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.