[프로그래머스] 약수 구하기 문제 풀이(Java)

이하영·2023년 5월 24일
0

코딩테스트

목록 보기
17/21
post-thumbnail
post-custom-banner

✔ 문제 설명

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


✔ 제한사항

  1. 1 ≤ n ≤ 10,000

💬 내 풀이

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

먼저 약수의 개수(배열의 길이) 구하고

        int cnt=0;
        for(int i=1; i<=n; i++){
            if(n%i==0){
                cnt++;
            }
        }

answer 배열을 생성 후,
반복문을 이용해 약수를 구해 차례대로 배열에 넣는다.

		int[] answer = new int[cnt];
        int j=0;
        
        for(int i=1; i<=n; i++){
            if(n%i==0){
                answer[j]=i;
                j++;
            }
        }
profile
안녕하세요, 웹 개발자 이하영입니다!
post-custom-banner

0개의 댓글