Skip to content

Commit 94b8486

Browse files
authored
[20251114] BOJ / G5 / 최소 회의실 개수 / 설진영
Implement a Java program to calculate the minimum number of meeting rooms required based on start and end times of meetings.
1 parent 483b3d1 commit 94b8486

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
public static void main(String[] args) throws IOException {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
int N = Integer.parseInt(br.readLine());
9+
10+
int[][] meetings = new int[N][2];
11+
12+
for (int i = 0; i < N; i++) {
13+
StringTokenizer st = new StringTokenizer(br.readLine());
14+
meetings[i][0] = Integer.parseInt(st.nextToken());
15+
meetings[i][1] = Integer.parseInt(st.nextToken());
16+
}
17+
18+
Arrays.sort(meetings, (a, b) -> Integer.compare(a[0], b[0]));
19+
20+
PriorityQueue<Integer> pq = new PriorityQueue<>();
21+
22+
for (int[] meeting : meetings) {
23+
int start = meeting[0];
24+
int end = meeting[1];
25+
26+
if (!pq.isEmpty() && pq.peek() <= start) {
27+
pq.poll();
28+
}
29+
30+
pq.offer(end);
31+
}
32+
33+
System.out.println(pq.size());
34+
}
35+
}
36+
```

0 commit comments

Comments
 (0)