Algorithm/Programmers
[Programmers] Lv.0 / 무작위로 K개의 수 뽑기 / Java
unknownomad
2024. 2. 7. 23:34
문제
풀이
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] arr, int k) {
List<Integer> result = new ArrayList<>();
IntStream.of(arr)
.filter(num -> !result.contains(num))
.limit(k)
.forEach(result::add);
while(result.size() < k) {
result.add(-1);
}
return result.stream().mapToInt(Integer::intValue).toArray();
}
}
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr, int k) {
// 먼저 arr에서 얻은 서로 다른 값들이 나열되고,
// 그 다음에는 나머지 길이가 k가 되도록 -1이 추가됨
return IntStream.concat(
Arrays.stream(arr).distinct(),
IntStream.range(0, k).map(i -> -1))
.limit(k)
.toArray();
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181858