프로그래머스
프로그래머스 - 나누어 떨어지는 숫자 배열
thiago6
2019. 1. 8. 15:19
내 코드
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;
}
}