프로그래머스 Lv.1 '정수 제곱근 판별' 자바
Q. 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고,
n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하시오.
class Solution {
public long solution(long n) {
Double x = Math.sqrt(n);
if (x == x.intValue()) {
return (long) Math.pow(x + 1, 2);
} else {
return -1;
}
}
}
Math.sqrt()는 제곱근(루트)을 계산하는 메서드로,
n의 제곱근을 구해 x에 넣는다.
intValue()는 해당 숫자 타입을 int로 변환하는 메서드로,
제곱근 x가 x를 int로 변환한 값과 같으면
거듭제곱을 계산하는 Math.pow()로 x+1의 2승을 반환하고
다르면 -1을 반환하도록 한다.
'Log > Coding Test' 카테고리의 다른 글
Day87_Programmers Lv.1 하샤드 수 Java (0) | 2023.12.25 |
---|---|
Day86_Programmers Lv.1 '정수 내림차순으로 배치하기' Java (1) | 2023.12.19 |
Day84_Programmers Lv.1 자릿수 더하기 Java (0) | 2023.12.18 |
Day83_Programmers Lv.1 자연수 뒤집어 배열로 만들기 Java (1) | 2023.12.18 |
Day82_Programmers Lv.1 문자열 내 p와 y의 개수 Java (1) | 2023.12.15 |