Coding Test/[프로그래머스] Java

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

annovation 2025. 6. 15. 22:44

Question

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


Algorithm

  1. 먼저, 주어진 숫자 n의 제곱근을 구해서 정수로 변환한 뒤, 다시 제곱했을 때 원래 숫자 n과 같은지 확인한다.
  2. n이 어떤 정수 x의 제곱이 맞다면, x + 1을 제곱한 값을 반환하다.

Code

class Solution {
    public long solution(long n) {
        
        // n의 양의 제곱근^2 한 값이 n과 같다면 (정확한 정수의 제곱이 맞다면)
        if(Math.pow((int)Math.sqrt(n), 2) == n) {
            // (x + 1)의 제곱한 값을 반환
            return (long)Math.pow(Math.sqrt(n) + 1, 2);
        }
        
        return -1;
    }
}
  • Math.pow(double a, double b) [각주:1]
    •  a와 지수 b를 받아 a^b를 계산하여 double로 반환합니다.
  • Math.sqrt(double a) [각주:2]
    • 인자로 받은 a 양의 제곱근(√a)을 계산해 double로 반환합니다.

출처

https://psip31.tistory.com/96

 

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

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁

psip31.tistory.com


주석 출처