프로그래머스 120852 소인수분해 JAVA

sundays·2023년 2월 27일
0

문제

소인수분해

풀이

이 문제는 2 부터 n까지 n으로 나누었을때 0으로 나누어 떨어지는 수를 구하면 된다. 그리고 이 수가 소수인지를 판별하는 판별식으로 소수가 맞는지를 판별해야 한다. 소수 판별식은 2에서 Math.sqrt(i) 까지 나누었을때 나누어 떨어지는 수가 있으면 소수인 것으로 판별해주었다

private ArrayList<Integer> solution(int n) {
	ArrayList<Integer> arr = new ArrayList<>();
	for (int i = 2; i <= n; i++) {
    	if (n % i == 0 && isPrime(i)) {
       		arr.add(i);
            n /= i;
        }
    }
    return arr;
}

private boolean isPrime(int k) {
	for (int i = 2; i < Math.sqrt(k); i++) {
    	if (k % i === 0) {
        	return false;
        }
    }
    return true;
}

수학 문제 나오면 항상 당황하기 때문에 잘 정리해둬야겠다

전체 코드

전체 코드

profile
develop life

0개의 댓글