문제
나의 생각
매개변수 값의 제곱근을 만들어 하나는 원본그대로, 하나는 소수점을 뺀 상태로 나누어 1이 나오면 +1 한값의 제곱 아니면 -1로 생각하며 접근.
나의 답안
public static long solution(long n) {
long answer = 0;
double a = Math.sqrt(n);
double v = a / (int)a;
System.out.println(v);
if (v == 1){
answer = (long) Math.pow(a+1, 2);
} else {
answer = -1;
}
return answer;
}
다른 답안
제곱근을 다시 제곱을 해서 매개 변수와 값이 같을 때 하는 방식.
class Solution {
public long solution(long n) {
if (Math.pow((int)Math.sqrt(n), 2) == n) {
return (long) Math.pow(Math.sqrt(n) + 1, 2);
}
return -1;
}
}
'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글
짝수와 홀수 (0) | 2023.03.12 |
---|---|
문자열을 정수로 바꾸기 (0) | 2023.02.28 |
콜라츠 추측 (0) | 2023.02.27 |
평균 구하기 (0) | 2023.02.27 |
핸드폰 번호 가리기 (0) | 2023.02.24 |