[프로그래머스]JAVA- 2

김윤지·2022년 9월 21일
0

JAVA

목록 보기
2/10

내 코드

쉽게 생각했었는데, 이상하게 계속해서 오류가 났었음.

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 누가 봐도 제곱근 구하는 것 같네 ㅋㅋㅋ

profile
Java, Javascript, python, DB

0개의 댓글