문제
내가 작성한 정답
import java.util.*;
class Solution {
public int[] solution(int[] arr, int k) {
ArrayList<Integer> list = new ArrayList<>();
for (int i : arr) {
if (list.size() >= k) break;
if (!list.contains(i)) list.add(i);
}
while (list.size() < k) {
list.add(-1);
}
return list.stream().mapToInt(i -> i).toArray();
}
}
다른 사람들의 정답
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr, int k) {
return IntStream.concat(Arrays.stream(arr).distinct(), IntStream.range(0, k).map(i -> -1)).limit(k).toArray();
}
}
import java.util.stream.*;
import java.util.*;
class Solution {
public int[] solution(int[] arr, int k) {
return IntStream.range(0, k).map(i -> i >= Arrays.stream(arr).boxed().collect(Collectors.toSet()).size() ? -1 : Arrays.stream(arr).distinct().toArray()[i]).toArray();
}
}
Share article