본문 바로가기
JAVA/Programmers

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

by tripleup 2023. 8. 1.
728x90
반응형

[프로그래머스] 코딩테스트 연습 -> 연습문제 -> 정수 제곱근 판별

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


해결 과정

 

먼저, 이 문제는 제곱과 제곱근의 관한 문제이므로

Math.sqrt(n) 과 Math.pow(a,b)를 적절하게 사용해야 한다.

 

먼저 n의 제곱근이라고 할 수 있는 x를 double형으로 선언해준다.

그리고 조건문을 이용하여 이 제곱근을 1으로 나누었을 때 나머지가 0이 된다면 소수점이 없는 것이므로

n은 어떤 수 x의 제곱이 맞다. 그러므로 Math.pow(x+1,2)를 long형으로 형변환하여 answer에 넣어준다.

 

아닐경우에는 answer = -1을 해주고 answer을 return 해주면 된다.

 

소스 코드

 

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        double x = Math.sqrt(n);
        
        if (x % 1 == 0) {
            answer = (long)Math.pow(x+1,2);
        } else {
            answer = -1;    
        }
        
        return answer;
    }
}

 


728x90
반응형

댓글