[프로그래머스] 나누어 떨어지는 숫자 배열

2020. 6. 21. 18:34프로그래머스/LEVEL 1

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int divisor) {
        int[] answer = {};
        
        List<Integer> answerList = new ArrayList<>();
        
        for(int i=0; i<arr.length; i++){
            if(arr[i]%divisor==0){
                answerList.add(arr[i]);
            }
        }
        
        if(answerList.size()==0){
            answer = new int[1];
            answer[0] = -1;
        }else{
            answer = new int[answerList.size()];
            for(int i=0; i<answer.length; i++){
                answer[i] = answerList.get(i);
            }
            Arrays.sort(answer);
        }
        
        return answer;
    }
}

1. arr내에 나누어 떨어지는 원소가 몇개 들어있는지 알 수 없으므로 처음에 배열의 크기를 결정짓기 어렵다.

2. 따라서 List를 이용하여 조건에 부합하는 원소들만 add하여 answer배열로 옮기는 작업을 한다.