프로그래머스 문제(Java) No.9 <정수 제곱근 판별>

오하수·2026년 1월 19일

이 문제는 양의 정수 n에 대해서 n이 어떤 양의 정수 x의 제곱인지 아닌지 찾는 문제이다.

자바에서 정수의 제곱근을 구하는 함수 중에 math.sqrt()가 있다. long answer라는 변수를 만들었기 때문에 정수 n을 long으로 형변환 시켜주기 위해 (long)mathe.sqrt(n)을 사용한다. 양의 정수의 제곱이 n이 나오면 양의 정수 + 1한 값의 제곱을 리턴하고 양의 정수의 제곱이 아니면 -1을 리턴하는 함수를 만들면된다.

class Solution {
  public long solution(long n) {
    long answer = (long)Math.sqrt(n);
    if (answer * answer == n){
      return (answer + 1) * (answer + 1);
    }

    return -1;
  }
}

main 함수에서 n값을 넣어주고 실행해보자

public class Main{
  public static void main(String[] args) {
    Solution sol = new Solution();
    long result = sol.solution(100);
    System.out.println(result);
  }
}

(10 + 1) * (10 + 1) = 121이 잘 나오는 것을 볼 수 있다.

profile
오늘하루도수고하세용~

0개의 댓글