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

박경희·2024년 2월 2일

코딩테스트

목록 보기
35/69

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

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

        for (int i : arr) {
            if (i % divisor == 0) {
                list.add(i);
            }
        }
        if (list.size() == 0) {
            return new int[]{-1};
        }
		
        // 정렬
        Collections.sort(list);
		
        //리스트 배열로 변환
        int[] answer = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }
        return answer;
    }
}

stream

import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr, int divisor) {
       int[] result =  Arrays.stream(arr).
                filter(a -> a % divisor == 0)
                .sorted()
                .toArray();
        
        return result.length == 0 ? new int[]{-1} : result;
    }
}

0개의 댓글