프로그래머스/[프로그래머스 - JAVA] Lv.1
[프로그래머스 - JAVA] 정수 제곱근 판별
코딩하는 흰둥이
2023. 3. 26. 15:37
- 내 풀이
class Solution {
public long solution(long n) {
long answer = 0;
long count = n / 10;
answer = -1;
for (long i = 1; i < count; i++) {
if (i * i == n) {
answer = (i + 1) * (i + 1);
}
}
return answer;
}
}
위의 코드로 하니 자꾸 실패가 뜬다
아래 코드로 변경 , n은 런타임 오류 였는데 count는 뭐였을까
class Solution {
public long solution(long n) {
long answer = 0;
answer = -1;
for (long i = 0; i*i <= n; i++) {
if (i * i == n) {
answer = (i + 1) * (i + 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;
}
}
- Math.sqrt(121) : 121 값의 제곱근을 double 형으로 return 한다
- Math.pow(11 , 2) : 11의 2제곱을 계산한다