Algorithm/Programmers
[Programmers] Lv.0 / 배열의 원소 삭제하기 / Java
unknownomad
2024. 3. 5. 06:41
문제
풀이
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int[] solution(int[] arr, int[] delete_list) {
Set<Integer> deleteSet = Arrays.stream(delete_list)
.boxed()
.collect(Collectors.toSet());
List<Integer> result = Arrays.stream(arr)
.filter(num -> !deleteSet.contains(num))
.boxed()
.collect(Collectors.toList());
return result.stream()
.mapToInt(Integer::intValue)
.toArray();
}
}
- boxed()
- to convert primitive types such as int, long, double, etc., to their corresponding wrapper classes such as Integer, Long, Double, etc.
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr, int[] delete_list) {
return IntStream.of(arr)
.filter(i -> !IntStream.of(delete_list).anyMatch(s -> s == i))
.toArray();
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181844