본문 바로가기

Programmers

[Java] 프로그래머스 : 정수 제곱근 판별

📌 문제

https://programmers.co.kr/learn/courses/30/lessons/12934?language=java 

 

코딩테스트 연습 - 정수 제곱근 판별

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

programmers.co.kr

 

📌 코드

package programmers;

public class Pro_220420 {
	// 도움 코드
    public static void main(String[] args) {
        long n = 3;

        System.out.println(solution(n));

    }

    public static long solution(long n) {

        long answer = 0;

        for (long i = 1; i <= n; i++) { // n까지 반복하는 반복문 생성
            if (i * i == n) { // 1부터 곱해서 파라미터로 넘어온 값과 같은지 확인
                answer = (i + 1) * (i + 1); // 같으면 +1을하고 그 제곱 곱해서 리턴
                return answer;				// Math.pow() 메소드 참고
            }
        }
        return -1; // n번 돌때까지 제곱하는 값이 없으면 -1을 리턴
    }
}