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

약수 구하기

💫문제 설명💫

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

💫제한사항💫

1 ≤ n ≤ 10,000

💫입출력 ex💫

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

문제풀이1

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

문제풀이2

class Solution {
    public int[] solution(int n) {
        int[] arry = new int[10000];
        int arr = 0;
        
        for(int i=1; i <= n; i++) {
            if(n%i == 0) {  // 약수
                arry[arr] = i;
                arr++;
            }
        }
        
        int[] answer = new int[arr];
        for(int i=0; i < arr; i++) {
            if(arry[i] != 0) {
                answer[i] = arry[i];
            }
        }
        return answer;
    }
}

Categories:

Updated:

Leave a comment