본문 바로가기
  • Jetpack 알아보기
프로그래머스 - JAVA/Level 1

[JAVA] 프로그래머스 Lv.1 : 정수 제곱근 판별

by 새우버거♬ 2021. 4. 2.

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

 

 

예제:

 

Input:
121
Output:

144

Input:
3
Output:

-1

 

제한 조건:

  • n은 1이상, 50000000000000 이하인 양의 정수입니다.

 

 

 

 


 

Solution #1

class Solution {
    public long solution(long n) {
        double sqrt = Math.sqrt(n);

        return (sqrt-(int)sqrt) > 0 ? -1 : (long) Math.pow(sqrt + 1, 2);
    }
}

 

Result #1

 

💡 양의 정수 n이 어떤 수의 제곱근인지 판별하는 방법은 n의 제곱근 값이 소수점 형태인 지를 검사하면 된다. Math 함수를 적절하게 사용하여 간단하게 풀었다

 

 

 


 

More Algorithm!

 

👇👇

 

github.com/ggujangi/ggu.programmers

 

ggujangi/ggu.programmers

프로그래머스 알고리즘, JAVA. Contribute to ggujangi/ggu.programmers development by creating an account on GitHub.

github.com

 

 

 

출처 : 프로그래머스