package Programmers;

import java.util.ArrayList;
import java.util.Arrays;

public class No1 {
    static int[] solution(int[] arr, int divisor) {
        ArrayList<Integer> list = new ArrayList<>();

        for(int i=0; i< arr.length; i++){
            if(arr[i] % divisor == 0){
                list.add(arr[i]);
            }
        }

        if(list.isEmpty()){
            return new int[] {-1};
        }else{
            int[] answer = new int[list.size()];

            for(int i=0; i<list.size(); i++){
                answer[i] = list.get(i);
            }
            Arrays.sort(answer);
            return answer;
        }
    }

    public static void main(String[] args) {
        int[] arr = {5,9,7,10};
        int divisor = 5;
        int[] result = solution(arr,divisor);
        System.out.println(Arrays.toString(result));
    }
}

 

1. 리스트 형태로 값을 담는다. why? -> 배열로 담으면 0으로 초기화되기 때문에 중간에 0이 들어가기 때문

2. 담은 값들을 배열에 다시 옮겨담아 정렬 후 return 해준다.

 

배열을 출력하고 싶으면 Arrays.toString(배열)을 사용해주면 된다.