[프로그래머스, 12934] 정수 제곱근 판별 (java)
Problem Solving/Programmers

[프로그래머스, 12934] 정수 제곱근 판별 (java)

728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

728x90

메모리: 73.8 MB, 시간: 0.06 ms

사용 알고리즘: 수학

 

class Solution {
    public long solution(long n) {
        
        // n에 대한 루트 계산
        long x = (long)Math.sqrt(n);
        
        // 다시 제곱
        long tmp = (long)Math.pow(x, 2);
        
        // tmp가 n과 같다면, n은 x의 제곱
        long answer;
        if(n == tmp) answer = (long)Math.pow(x + 1, 2);
        else answer = -1;

        return answer;
    }
}
728x90