
내가 작성한 코드
import java.util.*;
class Solution {
public int[] solution(int[] arr, int k) {
// 중복 제거를 위해 Set 사용
LinkedHashSet<Integer> uniqueSet = new LinkedHashSet<>();
for (int num : arr) {
uniqueSet.add(num); // 중복된 값은 자동으로 제거됨
}
// 결과 배열 생성
int[] answer = new int[k];
int index = 0;
// Set의 값을 순서대로 배열에 추가
for (int num : uniqueSet) {
if (index >= k) break; // k개의 값만 추가
answer[index++] = num;
}
// 남은 공간을 -1로 채움
while (index < k) {
answer[index++] = -1;
}
return answer;
}
}
다른 사람의 코드
import java.util.*;
class Solution {
public int[] solution(int[] arr, int k) {
ArrayList<Integer> arrayList = new ArrayList<>(); // 결과를 담을 리스트
for (int a : arr)
if (!arrayList.contains(a)) // 리스트에 중복된 값이 아닌 경우에만 추가
arrayList.add(a);
int idx = 0;
int[] answer = new int[k];
// 빈 부분에 -1로 채우기
for (int i = 0;i < k;i++)
answer[i] = -1;
// 배열에 값을 넣어서 인트 배열로 변환
for (int i = 0;i < k && i < arrayList.size();i++)
answer[i] = arrayList.get(i);
return answer;
}
}
Share article