[프로그래머스] 제곱수 판별하기

당당·2023년 4월 22일
0

프로그래머스

목록 보기
21/245

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

📔문제

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.


🚫제한사항

1 ≤ n ≤ 1,000,000


📝입출력 예

nresult
1441
9762

📝입출력 예 설명

입출력 예 #1

144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.


입출력 예 #2

976은 제곱수가 아닙니다. 따라서 2를 return합니다.


🧮알고리즘 분류

  • 문자열
  • 수학
  • 조건문
  • 정렬

📃소스 코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        if(Math.sqrt(n)%1==0.0){
            answer=1;
        }
        else{
            answer=2;
        }
        return answer;
    }
}

📰출력 결과


📂고찰

https://coding-factory.tistory.com/532

Math.sqrt()는 제곱근을 구하는 메소드이다. 그러나, 자연수를 제곱했을 때의 제곱수인지 아닌지를 판별하기 때문에, 만약 Math.sqrt(n)%1==0.0이면 자연수가 아니기 때문에 if문으로 !=인 것을 자연수로 보고 1을 반환하고 아니면 2를 반환했다.

profile
MySQL DBA 신입 지원

0개의 댓글