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

당당·2023년 4월 21일
0

프로그래머스

목록 보기
15/245
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/120897

📔문제

정수 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합니다.


🧮알고리즘 분류

  • 문자열
  • 해시
  • 배열
  • 수학

📃소스 코드

class Solution {
    public int[] solution(int n) {
        int[] divisor=new int[10000];
        int count=0;
    
        int i=1;
        while(n>=i){
            if(n%i==0){//약수
                divisor[count]=i;
                count++;
            }
            i=i+1;
        }
        
        int[] answer = new int[count];
        
        for(int j=0;j<count;j++){
            answer[j]=divisor[j];
        }
        
        return answer;
    }
}

📰출력 결과


📂고찰

i수를 1부터 1씩 증가시키면서 정수 n이랑 나머지 계산을 했다.
나머지가 0이면 약수이다.

profile
MySQL DBA 신입 지원

0개의 댓글