나누어 떨어지는 숫자 배열 [Java]

sua·2022년 12월 17일
0

문제

풀이

import java.util.*;

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

ArrayList 타입인 array를 생성하고 arr을 for문을 돌리면서 i번째 arr 원소를 divisor로 나누었을 때 나머지가 0인 경우 해당 원소값을 array에 삽입한다.
그런 다음 array의 사이즈가 0보다 클때는 array의 size만큼 answer를 생성하고 for문을 돌려서 array의 원소값들을 answer에 할당해준다. 그 외에 size가 0인 경우네는 answer의 0번째를 -1로 지정해준다. 마지막으로는 Arrays.sort 메소드로 answer을 오름차순 정렬해주면 된다.

결과

profile
가보자고

0개의 댓글

관련 채용 정보