- 내 풀이
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제곱을 계산한다
'프로그래머스 > [프로그래머스 - JAVA] Lv.1' 카테고리의 다른 글
[프로그래머스 - JAVA] 정수 내림차순으로 배치하기 (0) | 2023.03.26 |
---|---|
[프로그래머스 - JAVA] 문자열 내 p와 y의 개수 (1) | 2023.03.26 |
[프로그래머스 - JAVA] 자연수 뒤집어 배열로 반들기 (0) | 2023.03.26 |
[프로그래머스 - JAVA] x만큼 간격이 있는 n개의 숫자 (0) | 2023.03.26 |
[프로그래머스 - JAVA] 평균 구하기 (0) | 2023.03.26 |
댓글