울음참고 개발공부
728x90

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 


 

 

<java />
import java.util.*; class Solution { public int[] solution(int[] arr, int k) { Set<Integer> set = new HashSet<>(); int[] result = new int[k]; int index = 0; for (int num : arr) { if (!set.contains(num)) { result[index++] = num; set.add(num); } if (index == k) break; } while (index < k) { result[index++] = -1; } return result; } }

 

 

 


 

List<> 에서 중복을 제거하는 방법 중 Set<> 를 이요하는 방법을 택했다.

Set<> 는 중복을 포함하지 않는 자료구조이다. 

 

이전에 나온적 없는 수라면 추가하고, k 개의 수가 이미 선택되었다면 break 을 통해 빠져나온다.

index 가 k보다 작은 수가된다면, 남은 부분을 -1로 채워준다. 

 

 

728x90
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!