문제
https://swexpertacademy.com/main/solvingProblem/solvingProblem.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
value값으로 HashMap 정렬하기
List<Integer> keyset = new ArrayList<>(map.keySet());
keyset.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return map.get(o1) - map.get(o2);
}
});
map의 keySet으로 list 만들어주고, 이걸로 Comparator을 사용해서 map의 value값으로 비교를 해주면 된다.
그럼 map의 value 값으로 정렬된 keySet을 확인해 볼 수 있다
최종 코드
import java.util.Scanner;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeMap;
class Solution
{
public static void main(String args[]) throws Exception
{
for(int test_case = 1; test_case <= T; test_case++)
{
sc.next();
TreeMap<Integer, Integer> map = new TreeMap<>();
for(int i=0; i<1000; i++) {
int n = sc.nextInt();
map.put(n , map.getOrDefault(n, 0)+1);
}
List<Integer> keyset = new ArrayList<>(map.keySet());
keyset.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return map.get(o1) - map.get(o2);
}
});
// System.out.print(keyset);
System.out.printf("#%d %d \n", test_case, keyset.get(keyset.size()-1));
}
}
}
출처
https://velog.io/@dev-easy/Java-Map%EC%9D%84-Key-Value%EB%A1%9C-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0
'‡ CODING TEST STUDY ‡' 카테고리의 다른 글
(미완) 삼성 코테 기출 (마법의 숲 탐색, 루돌프의 반란, 미로) (0) | 2024.11.17 |
---|---|
[JAVA] SWEA | 2382. [모의 SW 역량테스트] 미생물 격리 (0) | 2024.11.17 |
[JAVA] SWEA | 1213. [S/W 문제해결 기본] 3일차 - String (0) | 2024.11.16 |
[Java] 소수 판별 - 에라토스테네스의 채 (0) | 2024.05.18 |