728x90
풀이과정 1. ->시간초과..
일단 생각한것은 n의 제곱근이므로, x * x = n
x를 구해야한다...? 그럼 어떻게해야할까..... 생각하다가 if 문에 조건을 걸어주었다..
결과는 시/간/초/과
class Solution {
public long solution(long n) {
long answer = 0;
for(int i = 1; i <= n; i++){
if(i*i == n){
answer = (i + 1) * (i + 1);
break;
} else {
answer = -1;
}
}
return answer;
}
}
풀이과정2.
다른사람의 코드를 참고하였다😐 (반성하자...)
아니!!!!
제곱근을 구하는 함수가 따로 있었던것이였다.......
- pow : 거듭제곱을 계산해주는 함수
- Math.pow(숫자, 거듭제곱 횟수);
- sqrt : 제곱근을 구해주는 함수
- Math.sqrt(숫자);
class Solution {
public long solution(long n) {
long answer = 0;
long x = (long)Math.sqrt(n);
if(n == Math.pow(x,2)){
answer = (long)Math.pow(x+1, 2);
} else {
answer = -1;
}
return answer;
}
}
풀이과정3.
다른사람의 코드를 참고하면서 생소한 부분이 보였다.
class Solution {
public long solution(long n) {
long answer = 0;
Double x = Math.sqrt(n);
if(x == x.intValue()){
answer = (long)Math.pow(x+1, 2);
} else {
answer = -1;
}
return answer;
}
}
x.intValue() ????
Integer형을 int형으로 변환하는것
Integer.parseInt() 이거랑은 약간 다른 개념..!
참고사이트
https://java119.tistory.com/30
'알고리즘 (JAVA) > 프로그래머스 알고리즘' 카테고리의 다른 글
[코테준비 - python] 이상한 문자 만들기 level1 - 개발자 배찌 (0) | 2022.12.03 |
---|---|
[코테준비 - python] 실패율 lever1 - 개발자 배찌 (0) | 2022.12.02 |
[프로그래머스] level1.자연수 뒤집어 배열로 만들기 - 개발자 배찌 (0) | 2022.05.12 |
[프로그래머스] level1.같은 숫자는 싫어 - 개발자 배찌 (0) | 2022.05.12 |
[프로그래머스] level1. 제일 작은 수 제거하기 - 개발자 배찌 (0) | 2022.05.10 |