Skip to content

Commit 8355304

Browse files
authored
[BOJ] 23056 참가자 명단 (S4)
1 parent 3ee2859 commit 8355304

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

정건우/4주차/260120.java

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
//https://www.acmicpc.net/problem/23056
2+
import java.io.BufferedReader;
3+
import java.io.IOException;
4+
import java.io.InputStreamReader;
5+
import java.util.*;
6+
7+
public class BOJ_S4_23056_참가자명단 {
8+
public static void main(String[] args) throws IOException {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
StringTokenizer st = new StringTokenizer(br.readLine());
11+
12+
int N = Integer.parseInt(st.nextToken());
13+
int M = Integer.parseInt(st.nextToken());
14+
15+
List<ArrayList<String>> list = new ArrayList<>();
16+
for (int i = 0; i < N; i++) {
17+
list.add(new ArrayList<>());
18+
}
19+
20+
while(true) {
21+
st = new StringTokenizer(br.readLine());
22+
23+
int classNum = Integer.parseInt(st.nextToken());
24+
String name = st.nextToken();
25+
26+
if(classNum == 0 && name.equals("0")) break;
27+
28+
if(list.get(classNum-1).size() == M) continue;
29+
30+
list.get(classNum-1).add(name);
31+
}
32+
33+
for (int i = 0; i < N; i++) {
34+
Collections.sort(list.get(i), (o1, o2) -> {
35+
String s1 = (String) o1;
36+
String s2 = (String) o2;
37+
38+
if(s1.length() != s2.length()) return Integer.compare(s1.length(), s2.length());
39+
40+
return s1.compareTo(s2);
41+
});
42+
}
43+
44+
StringBuilder sb = new StringBuilder();
45+
46+
for (int i = 0; i < N; i+= 2) {
47+
for (int j = 0; j < Math.min(list.get(i).size(), M); j++) {
48+
sb.append((i + 1)).append(" ").append(list.get(i).get(j)).append("\n");
49+
}
50+
}
51+
52+
for (int i = 1; i < N; i+= 2) {
53+
for (int j = 0; j < Math.min(list.get(i).size(), M); j++) {
54+
sb.append((i + 1)).append(" ").append(list.get(i).get(j)).append("\n");
55+
}
56+
}
57+
58+
System.out.println(sb);
59+
60+
}
61+
}

0 commit comments

Comments
 (0)