본문 바로가기
JAVA/Programmers

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

by tripleup 2023. 6. 7.
728x90
반응형

[프로그래머스] 코딩테스트 연습 -> 코딩테스트 입문 -> 약수 구하기

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


해결 과정

 

먼저 약수가 들어갈 배열의 크기를 정해줘야 한다.

 

하지만 바로는 알 수 없기 때문에 약수의 개수를 구하는 반복문을 통해 배열의 크기를 구해 준다.

먼저, 변수 a를 선언하고  n%i == 0 조건에 맞을 때마다 a++를 하여 약수의 개수 a를 구해준다.

 

그렇게 a를 이용하여 배열을 선언해주고, 다시 반복문을 통해 약수를 하나씩 배열에 넣어준다.

변수 k를 만들어 n%i == 0 조건에 맞는 i를 배열 answer에 하나씩 넣어주면서 k++해준다.

 

그렇게 나온 배열을 오름차순으로 담아야 하므로

Arrays.sort()을 통해 정렬한후 배열 answer을 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;
    }
}
728x90
반응형

댓글