보통사람

[6kyu] 소수인지 판단 (Is a number prime?) 본문

Codewars/Java

[6kyu] 소수인지 판단 (Is a number prime?)

pej4303 2019. 8. 4. 17:52
/**
* <pre>
* 입력받은 정수 소수인지 판단 (Is a number prime?)
* 
* 당신의 임무는 지난 4 개의 문자를 제외한 모든 문자를 '#'으로 바꾸는 maskify 함수를 작성하는 것입니다.
* 
* Define a function that takes an integer argument and returns logical value true or false depending on if the integer is a prime.
* </pre>
* 
* @param 정수
* @return true : 소수 , flase : 소수 아님
* @author pej
* @date 2019. 08. 04.
*/
public static boolean isPrime(int num) {
	boolean result = false;
    int cnt = 0;
    int tmpNum = Math.abs(num); // 음수도 판별하기 위해서
        
    if (tmpNum == 0 || tmpNum == 1) { // 0과 1은 소수가 아님
    	return false;
    }
        
    for (int i=2; i<tmpNum; i++) {
    	if ( tmpNum >= i ) {
        	if (tmpNum % i == 0) {
            	cnt += 1;
            }
    	}
    }
        
    if ( cnt == 0 ) {
    	result = true;
    } else {
    	result = false;
    }
        
    return result;
}
  • 테스트는 통과되었는데 Timed Out (16000 ms) 에러 났다. 속도 개선이 필요할 것 같다.