본문 바로가기

프로그래머스

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

내 코드

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

class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = {};

List<Integer> list = new ArrayList<>();

for (int num : arr) {
if (num % divisor == 0) {
list.add(num);
}
}

if (list.size() == 0) {
list.add(-1);
} else {
Collections.sort(list);
}

answer = new int[list.size()];

for (int i = 0; i < answer.length; i++) {
answer[i] = list.get(i);
}

return answer;
}
}


다른 사람 코드 - Arrays.stream(배열).filter(f -> 조건).toArray();를 활용


Arrays배열 -> 스트림(필터 적용) -> 배열

import java.util.Arrays;

class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = {};

answer = Arrays.stream(arr).filter(factor -> factor % divisor == 0).toArray();
Arrays.sort(answer);

if (answer.length == 0) {
answer = new int[]{-1};
}

return answer;
}
}