본문 바로가기
프로그래머스/JAVA

[level 1] 정수 제곱근 판별

by AsCE_hyunseung 2018. 9. 4.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
    public long solution(long n) {
        long answer = 0;
 
        int i=(int)Math.sqrt(n);//제곱근을 구하는 sqrt()메소드
        double d=Math.sqrt(n);
 
        if(i==d)//n의 제곱근이 정수가 아니면 소숫점이 없는 i와 소숫점이 있는 d의 값이 다르다. 
        {
            return (long)Math.pow(d+1,2);//pow(a,b)=a의b승
        }
 
        return -1;
    }
}
 
cs


- 문제 설명

임의의 정수 n에 대해, n이 어떤 정수 x의 제곱인지 아닌지 판단하려 합니다.

n이 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.


- 제한 사항

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


제곱근을 구하는 sqrt()메소드를 이용해서 쉽게 구현했다. 조건문으로 소숫점이 없는 i와 소숫점이 있는 d의 값을 비교해서 리턴하게 만들었다.


+자취방에 내려와서 쓰는 노트북에는 지금 쓰는 개발툴이 하나도 설치가 안되어있어 하나 하나 하느라 조오금 귀찮았다. 집에서 쓰는 데스크톱을 가져올까 고민했다.

'프로그래머스 > JAVA' 카테고리의 다른 글

[level 2] 다음 큰 숫자  (0) 2018.09.10
[level 1] 핸드폰 번호 가리기  (0) 2018.09.06
[level 1] 평균 구하기  (0) 2018.09.02
[level 1] 수박수박수박수?  (0) 2018.09.01
[level 1] 약수의 합  (0) 2018.08.21