슈콩

[BOJ] 백준 2910 빈도 정렬 본문

Algorithms/Baekjoon

[BOJ] 백준 2910 빈도 정렬

shukong 2025. 8. 20. 14:34

[문제]

https://www.acmicpc.net/problem/2910

 

 

[소스 코드]

import java.io.*;
import java.util.*;
public class Main {
	static class Num{
		int num,cnt;
		Num(int num,int cnt){
			this.num = num;
			this.cnt = cnt;
		}
	}
    public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	StringBuilder sb = new StringBuilder();
    	StringTokenizer st = new StringTokenizer(br.readLine());
    	int n = Integer.parseInt(st.nextToken());
    	int c = Integer.parseInt(st.nextToken());
    	List<Num> list = new ArrayList<>();
    	st = new StringTokenizer(br.readLine());
    	for(int i=0;i<n;i++) {
    		int v = Integer.parseInt(st.nextToken());
    		boolean found = false;
    		for(Num num : list) {
    			if(num.num == v) {
    				num.cnt++;
    				found = true;
    			}
    		}
    		if(!found) {
    			list.add(new Num(v,1));
    		}
    	}
    	list.sort((a,b)->{
    		return b.cnt - a.cnt;
    	});
    	for(Num numInfo : list) {
    		for(int i=0;i<numInfo.cnt;i++) {
    			sb.append(numInfo.num + " ");
    		}
    	}
    	System.out.println(sb);
    }
}

'Algorithms > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 7795 먹을 것인가 먹힐 것인가  (0) 2025.08.20
[BOJ] 백준 5648 역원소 정렬  (0) 2025.08.20
[BOJ] 백준 11656 접미사 배열  (0) 2025.08.20
[BOJ] 백준 10825 국영수  (0) 2025.08.19
[BOJ] 백준 11652 카드  (2) 2025.08.19