Hayden's Archive
[알고리즘] 프로그래머스 : 정수 제곱근 판별 본문
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12934
내가 작성한 코드
먼저 Math.sqrt() 메소드를 활용하여 n의 제곱근을 구해서 int형과 double형이 일치하는지 확인했다. 제곱근이 정수라면 두 타입이 서로 값이 일치할 것이기 때문이다. 그리고 Math.pow()를 사용해서 제곱근+1을 제곱한 값을 구했고 long형으로 캐스팅했다.
새삼 느끼는 라이브러리의 간편함!
class Solution {
public long solution(long n) {
long answer = 0;
if (Math.sqrt(n) == (int)Math.sqrt(n)){
answer = (long)Math.pow(Math.sqrt(n)+1, 2);
}else {
answer = -1;
}
return answer;
}
}
관련 : 자바 거듭제곱 Math.pow(), 제곱근 Math.sqrt() https://blog.naver.com/scyan2011/221656914043