import java.util.*;
import java.io.*;
public class Main {
static class Pair implements Comparable<Pair> { // 객체 자료형의 정렬 기준 정해줌
int key, val;
Pair(int key, int val) {
this.key = key;
this.val = val;
}
@Override
public int compareTo(Pair pair) {
if (this.val == pair.val) { // 횟수가 동일하다면 숫자의 크기로 정렬
return pair.key - this.key;
}
return pair.val - this.val;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stk = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(stk.nextToken());
int k = Integer.parseInt(stk.nextToken());
Map<Integer, Integer> map = new HashMap<>(); // 데이터를 HashMap에 입력
stk = new StringTokenizer(br.readLine(), " ");
for (int i = 1; i <= n; i++) {
int tmp = Integer.parseInt(stk.nextToken());
if (map.containsKey(tmp)) {
map.put(tmp, map.get(tmp) + 1);
} else {
map.put(tmp, 1);
}
}
ArrayList<Pair> list = new ArrayList<>(); // keySet()을 사용하여 ArrayList에 넣어준 뒤 정렬
for (int i : map.keySet()) {
list.add(new Pair(i, map.get(i)));
}
Collections.sort(list);
for (int i = 0; i < k; i++) {
System.out.print(list.get(i).key + " ");
}
}
}
오랜만에 HashMap을 사용한 문제풀이를 했다.
솔직히 챌린지 시작할 때만 해도 어차피 공부하는거 매일 써보자! 하고 시작했는데.. 요즘 서류도 쓸게 많고 코테 보는곳마다 떨어지니 지친다..
그리고 요즘 서류랑 코테랑 같이 점수를 내다보니 뭐가 부족한지 몰라서 컴컴한 미궁에 빠져있는 느낌..
졸업한지 이제 1개월차가 되어 무경력이 시작되었는데 좋은 결과 있었으면 좋겠다!
ps) 내일도 nc soft 코테를 본다..ㅎㅎ 서류는 6곳을 담주까지 넣어야하고..