거인의 코딩일지
[Lv.0_JAVA] 소인수분해 본문
728x90
import java.util.*;
class Solution {
public int[] solution(int n) {
List <Integer> list = new ArrayList<>();
for(int i = 2; i <= n ; i++){
if(n%i ==0){
while(n%i ==0) {
n /= i;
}
list.add(i);
}
}
int[] answer = new int [list.size()];
for(int i = 0; i < answer.length; i++){
answer[i] = list.get(i);
}
return answer;
}
}
우선 답을 담을 list 를 선언한 뒤 반복문을 활용하여 n 과 i 가 나누어 떨어지는 수를 찾은뒤 그 수를 while 반복문을 활용하여 n 을 i 로 나눴을 때 나머지가 0 이 되는 수를 찾고 list 에 넣어준뒤 정답 배열의 크기를 list의 크기대로 맞춰주고 하나씩 담아주었다.
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.0_Java] 가까운 수 (2) | 2023.10.05 |
---|---|
[Lv.0_Java] 영어가 싫어요 (0) | 2023.10.04 |
[Lv.0_JAVA] 컨트롤 제트 (0) | 2023.09.26 |
[Lv.0_Java] 수열과 구간 쿼리 3 (2) | 2023.09.26 |
[Lv.0_Java] 합성수 찾기 (0) | 2023.08.23 |