Skip to content

Commit 6ad258b

Browse files
authored
Merge pull request #1407 from AlgorithmWithGod/zinnnn37
[20251114] BOJ / G5 / 최소 회의실 개수 / 김민진
2 parents f8d145e + 80fb9e7 commit 6ad258b

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
```java
2+
import java.io.*;
3+
import java.util.Arrays;
4+
import java.util.PriorityQueue;
5+
import java.util.Queue;
6+
import java.util.StringTokenizer;
7+
8+
public class BJ_19598_최소_회의실_개수 {
9+
10+
private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11+
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
12+
private static StringTokenizer st;
13+
14+
private static int N;
15+
private static Room[] rooms;
16+
private static Queue<Integer> pq;
17+
18+
private static class Room implements Comparable<Room> {
19+
20+
int start;
21+
int end;
22+
23+
Room(int start, int end) {
24+
this.start = start;
25+
this.end = end;
26+
}
27+
28+
@Override
29+
public int compareTo(Room o) {
30+
if (this.start == o.start) {
31+
return Integer.compare(this.end, o.end);
32+
}
33+
return Integer.compare(this.start, o.start);
34+
}
35+
36+
@Override
37+
public String toString() {
38+
return "[" + start + " " + end + "]";
39+
}
40+
41+
}
42+
43+
public static void main(String[] args) throws IOException {
44+
init();
45+
sol();
46+
}
47+
48+
private static void init() throws IOException {
49+
N = Integer.parseInt(br.readLine());
50+
51+
rooms = new Room[N];
52+
pq = new PriorityQueue<>();
53+
for (int i = 0; i < N; i++) {
54+
st = new StringTokenizer(br.readLine());
55+
56+
int s = Integer.parseInt(st.nextToken());
57+
int e = Integer.parseInt(st.nextToken());
58+
59+
rooms[i] = new Room(s, e);
60+
}
61+
Arrays.sort(rooms);
62+
pq.offer(rooms[0].end);
63+
}
64+
65+
private static void sol() throws IOException {
66+
for (int i = 1; i < N; i++) {
67+
if (rooms[i].start >= pq.peek()) {
68+
pq.poll();
69+
}
70+
pq.offer(rooms[i].end);
71+
}
72+
bw.write(pq.size() + "");
73+
bw.flush();
74+
bw.close();
75+
br.close();
76+
}
77+
78+
}
79+
```

0 commit comments

Comments
 (0)