for
, list.add(i)
list.isEmpty()
answer[j] = list.get[j]
Arrays.sort(answer)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = {};
List<Integer> list = new ArrayList<>();
for (int i : arr) {
if (i % divisor == 0) {
list.add(i);
}
}
if (list.isEmpty()) {
list.add(-1);
}
answer = new int[list.size()];
for (int j = 0; j < list.size(); j++) {
answer[j] = list.get(j);
}
Arrays.sort(answer);
return answer;
}
}
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = Arrays.stream(arr).filter(factor -> factor % divisor == 0).toArray();
if (answer.length == 0) {
answer = new int[] {-1};
}
Arrays.sort(answer);
return answer;
}
}
자바에서 배열의 요소를 가공할 수 있는 것들은 map, filrter, sorted
등이 있는데 그중 filter는 조건에 맞는 요소만 나타내주는 역할은 한다.
++
map은 특정 조건에 맞을 때 요소를 다른 값으로 변환해주며,
sorted는 요소들을 정렬해준다.
사용법
List<String> list = Arrays.asList("a", "aa", "aaa", "aaaa");
Stream<String> stream = list.stream();
Stream<String> filter = stream.filter(t -> t.length() < 3);
filter.forEach(System.out::println);
a
aa