Home (Programmers) Java - 약수 구하기
Post
Cancel

(Programmers) Java - 약수 구하기

● 문제

1
2
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 
return하도록 solution 함수를 완성해주세요.

● 제한사항

1
1) 1 ≤ n ≤ 10,000

● 입출력 예

nresult
24[1, 2, 3, 4, 6, 8, 12, 24]
29[1, 29]

● 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Solution {
    public int[] solution(int n) {
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i=1; i<=n; i++) {
            if (list.contains(i))
                break;

            if (n % i == 0) {
                list.add(i);

                if ((n / i) != i) {
                    list.add(n / i);
                }
            }
        }
        
        Collections.sort(list);
        
        int[] answer = new int[list.size()];
        for(int i=0; i<list.size(); i++) {
            answer[i] = list.get(i); 
        }
                
        return answer;
    }
}
This post is licensed under CC BY 4.0 by the author.