공부기록/백준

[백준] 2910번 빈도정렬

메델 2023. 12. 27. 05:04
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args){
		
		Scanner kb = new Scanner(System.in);
		StringBuilder sb = new StringBuilder();
		
		int N = kb.nextInt();
		int C = kb.nextInt();
		
		LinkedHashMap<Integer, Integer> map = new LinkedHashMap<>();
		
		for(int i=0; i<N; i++) {
			int input = kb.nextInt();
			map.put(input, map.getOrDefault(input, 0)+1);
		}
		
		List<Integer> list = new ArrayList<>(map.keySet());
		
		Collections.sort(list, new Comparator<Integer>() {
			
			@Override
			public int compare(Integer a, Integer b) {
				return Integer.compare(map.get(b), map.get(a));
			}
			
		});
		
		for(int x: list) {
			for(int i=0; i<map.get(x); i++) {
				sb.append(x+ " ");
			}
		}
		
		System.out.println(sb);
		
	}
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 10867번 중복 빼고 정렬하기  (0) 2024.01.02
[백준] 2822번 점수 계산  (0) 2024.01.01
[백준] 7785번 회사에 있는 사람  (1) 2023.12.27
[백준] 11652번 카드  (0) 2023.12.27
[백준] 11656번 접미사 배열  (1) 2023.12.27