코딩테스트/JAVA

[JAVA/프로그래머스] 약수 구하기

할루솔이 2023. 7. 20. 22:06
반응형

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

제한사항
1 ≤ n ≤ 10,000


입출력 예


입출력 예 설명
입출력 예 #1
24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다.

 

입출력 예 #2
29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.


class Solution {
    public int[] solution(int n) {
        int[] answer;
        int num = 0;
        for(int i=1;i<=n;i++){
            if(n%i==0){
                num++;
            }
        }
        
        answer = new int[num];
        num = 0;
        
        for(int i=1;i<=n;i++){
            if(n%i==0){
              answer[num] = i;
              num++;
            }
        }
        return answer;
    }
}

배열의 크기를 지정해 줘야 오류가 나지 않기 때문에 크기 지정을 위한 반복문을 작성해 준다.

크기가 지정되었으면 비슷한 반복문을 하나 더 작성해서 약수일 때만 num을 증가시켜 주면 끝!

반응형