728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181858
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 95.5 MB, 시간: 1.62 ms
사용 알고리즘: 구현, 자료구조
import java.util.*; class Solution { public int[] solution(int[] arr, int k) { // 중복 체크를 위한 Set Set<Integer> set = new HashSet<>(); int[] answer = new int[k]; int index = 0; for(int i = 0; i < arr.length; i++) { if(!set.contains(arr[i])) { // 지금까지 나온 적이 없는 수라면 answer[index++] = arr[i]; set.add(arr[i]); // 서로 다른 k개의 수를 모두 저장하면 break if(index == k) break; } } // 완성된 배열의 길이가 k보다 작으면 나머지 값을 전부 -1로 채우기 while(index < k) answer[index++] = -1; return answer; } }
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 181855] 문자열 묶기 (java) (0) | 2025.04.01 |
---|---|
[프로그래머스, 181857] 배열의 길이를 2의 거듭제곱으로 만들기 (java) (0) | 2025.04.01 |
[프로그래머스, 181859] 배열 만들기 6 (java) (0) | 2025.03.12 |
[프로그래머스, 181860] 빈 배열에 추가, 삭제하기 (java) (0) | 2025.03.12 |
[프로그래머스, 181862] 세 개의 구분자 (java) (0) | 2025.03.12 |