솔솔
[알고리즘-프로그래머스] 소인수분해 본문
반응형
소인수분해 ?
소인수분해/알고리즘 - 나무위키
주어진 숫자 n의 소인수를 구한다고 할 경우 아래와 같은 순서로 진행하면 된다. * 1. i=2로 시작하여 i++ 하면서 n%i == 0 인지 체크한다.* 2. n%i==0이 성립하는 경우 i를 소인수로 등록한 후 n은 i로 나
namu.wiki
[어떻게 풀것인가?]
1. i=2로 시작하여 i++ 하면서 n%i == 0 인지 체크한다.
2. n%i==0이 성립하는 경우 i를 소인수로 등록한 후 n은 i로 나눈 값을 저장하고 i는 i++ 하지 않고 i부터 다시 시작하도록 한다.
3. n이 1이 될 때까지 위 과정을 반복한다.
public int[] solution(int n) {
List<Integer> factorization = new ArrayList<>();
for (int i = 2; i <= n; i++) {
while (n % i == 0) {
n /= i;
if (!factorization.contains(i)) factorization.add(i);
}
}
System.out.println(Arrays.toString(factorization.stream().mapToInt(Integer::intValue).toArray()));
return factorization.stream().mapToInt(Integer::intValue).toArray();
}
'나의보물들 > 알고리즘' 카테고리의 다른 글
[알고리즘] 숫자의 합 (백준 11720번) (0) | 2025.02.14 |
---|---|
[알고리즘-프로그래머스] 삼각형의 완성조건(2) (1) | 2024.01.18 |
[알고리즘-프로그래머스] 합성수 찾기 (0) | 2024.01.17 |