본문 바로가기
SOFTWARE/ALGORITHM

[codewars] A square of squares - 제곱수 구하기!

by eooa 2020. 2. 15.
반응형

오늘의 문제는...

 

제곱수 이면 true, 제곱수가 아니면 false를 반환하는 문제!

 

비교적 쉽게 풀었다.

 

물론 여전히 내 코드는 더럽..ㅋㅋ

그래도 답을 냈다는것에 만족해야지.

public class Square {    
    public static boolean isSquare(int n) {   
    
    if( n == 0 ) { 
      return true;
    } else if ( n < 0 ) { 
      return false;
    } else { 
      for (int i = 1; i<n; i++){
        if(((n/i) == i) && ((n%i) == 0)){
          return true;
        }
      }
    }
        return false; // fix me!
    }
}

 

이제 기막힌 정답을 볼 차례!

 

헐.. 근데 이게 왠걸?

 

 

타임아웃 이란다.. ㅠㅠ

 

그래서 나름 다시 줄여보았다...

 

 

이렇게..!!

그래도 길지만..

public class Square {    
    public static boolean isSquare(int n) {   
    
      if(n == 0){ 
        return true;
      } else {
      for(int i = 1; i< n; i++){
        if(i*i == n) {
        	if(n/i ==i){
          return true;
          }
        }
      }
    }
    return false;
    }
}

 

결과는 성공!

 

이제 진짜 잘하는 사람들의 답을 보자.

 

이러하다고 한다....

역시 함수를 쓸줄 알았다.

 

Math.sqrt() 는 제곱근을 구해주는 함수라고 한다.

반응형

댓글