728x90
반응형
[프로그래머스] 코딩테스트 연습 -> 연습문제 -> 정수 제곱근 판별
https://school.programmers.co.kr/learn/courses/30/lessons/12934
해결 과정
먼저, 이 문제는 제곱과 제곱근의 관한 문제이므로
Math.sqrt(n) 과 Math.pow(a,b)를 적절하게 사용해야 한다.
먼저 n의 제곱근이라고 할 수 있는 x를 double형으로 선언해준다.
그리고 조건문을 이용하여 이 제곱근을 1으로 나누었을 때 나머지가 0이 된다면 소수점이 없는 것이므로
n은 어떤 수 x의 제곱이 맞다. 그러므로 Math.pow(x+1,2)를 long형으로 형변환하여 answer에 넣어준다.
아닐경우에는 answer = -1을 해주고 answer을 return 해주면 된다.
소스 코드
class Solution {
public long solution(long n) {
long answer = 0;
double x = Math.sqrt(n);
if (x % 1 == 0) {
answer = (long)Math.pow(x+1,2);
} else {
answer = -1;
}
return answer;
}
}
728x90
반응형
'JAVA > Programmers' 카테고리의 다른 글
JAVA 프로그래머스 [정수 내림차순으로 배치하기] 자바 Lv.1 (0) | 2023.08.01 |
---|---|
JAVA 프로그래머스 [문자열을 정수로 바꾸기] 자바 Lv.1 (0) | 2023.08.01 |
JAVA 프로그래머스 [문자열 내 p와 y의 개수] 자바 Lv.1 (0) | 2023.08.01 |
JAVA 프로그래머스 [자연수 뒤집어 배열로 만들기] 자바 Lv.1 (3) | 2023.07.31 |
JAVA 프로그래머스 [나머지가 1이 되는 수 찾기] 자바 Lv.1 (0) | 2023.07.31 |
댓글