inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 무작위로 K개의 수 뽑기

    silver's avatar
    silver
    May 09, 2025
    [알고리즘문제풀기] 무작위로 K개의 수 뽑기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181858

    내가 작성한 정답

    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

    silver

    RSS·Powered by Inblog