쉽게 생각했었는데, 이상하게 계속해서 오류가 났었음.
else 문을 제외한 if 문은 잘 돌아감
근데 else 문이 존재하면,
테스트 1 에서 오류가 남...
그래서 생각해봤는데, for 문이 돌아가는 범위가 잘못된 것 같음.
그냥 n만큼 돌아가면 if 문을 돌지 않고 마지막인 else문만 탈 것임을 예상..
for 문 범위를 구해야 할 제곱근 정도로 설정해보기로 결정!!
n을 i*i 만큼 돌리기!
class Solution {
public long solution(long n) {
long answer = 0;
for (long i=1; i*i<=n; i++) {
if (i*i == n) {
answer = (i+1)*(i+1);
} else {
answer = -1;
}
}
return answer;
}
}
성공!
5점이나 주네?
자바에도 함수가 있긴 하구나..?
Math.sqrt 누가 봐도 제곱근 구하는 것 같네 ㅋㅋㅋ