[プログラマー][java]別々の数字配列


質問リンク-https://programmers.co.kr/learn/courses/30/lessons/12910
  • ソリューション
    各行列の値を係数で除算して分割すると、配列に入れて戻り、そうでない場合は-1を配列に入れて戻ります.
    配列のサイズが固定されていないため、ArrayListを使用することが望ましい.ArrayListを作成し、配列内の各要素を因子に分割すると、
    list.add()は保存され、最後のlistのサイズが0の場合は[1]、そうでない場合はCollectionsです.sort()でソートした後、配列を読み込み、返します.
  • import java.util.*;
    
    class Solution {
        public int[] solution(int[] arr, int divisor) {
            List<Integer> nums = new ArrayList<Integer>();
            
            for(int i=0;i<arr.length;i++){
                if(arr[i]%divisor==0){
                    nums.add(arr[i]);
                }
            }
            
            Collections.sort(nums);
            
            if(nums.size()==0){
                int [] result = new int [1];
                result[0]=-1;
                return result;
            }else{
                int [] result = new int[nums.size()];
                for(int i=0;i<nums.size();i++){
                    result[i] = nums.get(i);
                }
                return result;
            }
        }
    }