728x90
💡 Key
- Math.sqrt(숫자) / type - duoble: 제곱근을 구해주는 함수
- Msyh.pow(숫자, 거듭제곱 횟수) / type - duoble: 제곱근을 구해주는 함수
🔑 Code
<내가 짠 코드>
1
2
3
4
5
6
7
8
9
10
11
12
|
public long solution(long n) {
long answer = 0;
long squareRoot = (long) Math.sqrt(n); //n의 제곱근을 구함
if(n == Math.pow(squareRoot, 2)) { // 제곱근을 거듭제곱(2회)한 값이 n과 같다면
answer = (long) Math.pow(squareRoot + 1, 2); // 제곱근+1을 거듭제곱(2회)함
} else {
answer = -1; // 그 외 -1
}
return answer;
}
|
cs |
<다른 사람이 짠 코드 01 >
: 짧은 버전
1
2
3
4
5
6
7
|
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;
}
|
cs |
<다른 사람이 짠 코드 02 >
: 삼항연산자 사용
1
2
3
4
5
6
|
public long solution(long n) {
double i = Math.sqrt(n);
return Math.floor(i) == i ? (long) Math.pow(i + 1, 2) : -1;
}
|
cs |
728x90
'📟 Computer science > Algorism' 카테고리의 다른 글
JAVA - ArrayList에서 배열로, 배열에서 ArrayList로 (0) | 2022.09.26 |
---|---|
[프로그래머스] Lv1. 정수 내림차순으로 배치하기 (자바) (0) | 2022.09.25 |
[프로그래머스] Lv.1이상한 문자 만들기 (자바) (0) | 2022.09.24 |
댓글