Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

승띵이의 개발일지

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

코딩테스트/프로그래머스

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

승띵이 2022. 10. 23. 22:19

 

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

 

프로그래머스

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

programmers.co.kr

 

문제 설명

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

 

제한 사항

  • n은 1이상, 50000000000000 이하인 양의 정수입니다.

 

입출력 예

 

코드

 

class Solution {
    public long solution(long n) {
        long answer = 0;
        double sqrt = Math.sqrt(n); //Math.sqrt() 를 사용해 n의 제곱근 값을 double sqrt 에 저장
        
         answer = sqrt % 1 == 0 ? (long) ((sqrt + 1) * (sqrt + 1)) : -1;
         //sqrt가 정수이면 sqrt + 1 의 제곱을, 실수이면 -1을 answer에 저장
    
        return answer;	//answer 값 리턴
    }
}

 

한줄평

 

Math 함수와 나머지 연산자, 삼항 연산자를 활용하여 문제를 풀었다. 

조금만 생각하면 쉽게 풀 수 있는 문제인듯 

 

Comments