Skip to content

Commit

Permalink
2024-08-05
Browse files Browse the repository at this point in the history
  • Loading branch information
mjj111 committed Aug 5, 2024
1 parent 16d0313 commit 042fee3
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions mjj111/๋นˆ๋„์ •๋ ฌ.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import java.io.*;
import java.util.*;

public class ๋นˆ๋„์ •๋ ฌ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());

int N = Integer.parseInt(st.nextToken());
int COUNT = Integer.parseInt(st.nextToken());
Map<Integer, FreNumber> numbers = new HashMap<>();

st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
int now = Integer.parseInt(st.nextToken());
FreNumber nowFreNumber = numbers.getOrDefault(now, new FreNumber(i, now));
nowFreNumber.plusFre();
numbers.put(now, nowFreNumber);
}

List<FreNumber> answer = new ArrayList<>(numbers.values());
Collections.sort(answer);

for (FreNumber f : answer) {
for (int i = 0; i < f.fre; i++) {
System.out.print(f.number + " ");
}
}
}

static private class FreNumber implements Comparable<FreNumber> {
int number;
int index;
int fre = 0;

public FreNumber(int index, int number) {
this.index = index;
this.number = number;
}

public void plusFre() {
fre++;
}

@Override
public int compareTo(FreNumber op) {
if (this.fre == op.fre) {
return Integer.compare(this.index, op.index);
}
return Integer.compare(op.fre, this.fre);
}
}
}

0 comments on commit 042fee3

Please sign in to comment.