PS/프로그래머스 입문 100제

[프로그래머스] LV.0 약수 구하기 - 자바 [48/100]

yaho!! 2024. 6. 25. 08:27

💬 문제 설명

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

🚫 제한 사항

  • 1 ≤ n ≤ 10,000

 

📢 입출력 예

 

👨‍🏫 입출력 예 설명

 

📃 제출 코드

import java.util.ArrayList;
class Solution {
    public int[] solution(int n) {
        int[] answer = {};
        ArrayList<Integer> list = new ArrayList();
        for (int i = 1; i <= n; i++) {
            if (n % i == 0) {
                list.add(i);
            }
        }
        answer = list.stream().mapToInt(i -> i).toArray();
        return answer;
    }
}

 

✏ 해결방법 & 배운점

어떤 수를 나누어 떨어지게 하는 수를 그 수의 약수라고 합니다. `for`문을 이용하여 1부터 `n`까지 반복하면서 ` n % i == 0` 즉 나누어떨어지게하는 수를 찾아 리스트에 추가하고 이를 배열로 반환하여 문제를 해결하였습니다.