[프로그래머스_입문] 약수 구하기

LU·2024년 9월 30일
post-thumbnail

문제

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

제한사항

  • 1 ≤ n ≤ 10,000

입출력 예

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

입출력 예 설명

입출력 예 #1

  • 24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다.

입출력 예 #2

  • 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.

풀이

import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        int a = 0; // 약수의 개수
        
        for(int i = 1; i <= n; i++) {
            if(n % i == 0) { 
                a++;
            }
        }
        
        int[] answer = new int[a];
        
        int k = 0;
        
        for(int i = 1; i <= n; i++) {
            if(n % i == 0) {
                answer[k] = i;
                k++;
            }
        }
        
        Arrays.sort(answer); // 오름차순
        return answer;
    }
}
profile
기록은 나의 무기😎

0개의 댓글