본문 바로가기
algorithm/Programmers

[JAVA] 제곱수 판별하기

by 이쟝 2023. 3. 16.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


class Solution {
    public int solution(int n) {
        return (int)Math.sqrt(n)*(int)Math.sqrt(n) == n ? 1 : 2;
    }
}
  • 제곱근 구하는 Math.sqrt( )는 알고 있어서 제곱근을 구하는 메서드를 사용했다. 
  • double형으로 나오기 때문에 처음에는 소숫점 첫째자리 수가 0인 것으로 구분해서 0이면 1이고 아니면 2인 것으로 생각했다.
  • 하지만 그런 메서드가 없었어서... 
  • 제곱급 한 것을 다시 한 번 더 곱했을 때 n이 나오면 제곱근인 것으로 대체했다!

다른 사람 풀이

class Solution {
    public int solution(int n) {
        return Math.sqrt(n) % 1 == 0 ? 1 : 2;
    }
}
  • Math.sqrt(n)%1 를 하면 제곱근이 있는 수 들은 0.0이 나온다. 
  • 나눗셈으로 하는 방법도 간단한 것 같다..!

 

'algorithm > Programmers' 카테고리의 다른 글

[JAVA] 최댓값 만들기(2)  (0) 2023.03.20
[JAVA] n의 배수 고르기  (0) 2023.03.19
[JAVA] 문자열 안에 문자열  (0) 2023.03.15
[JAVA] 문자열 계산하기  (0) 2023.03.09
한 번만 등장한 문자  (0) 2023.03.07