File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed
Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.* ;
3+ import java.util.* ;
4+
5+ public class Main {
6+
7+ static class Meeting {
8+ int s, e;
9+ Meeting (int s , int e ) {
10+ this . s = s;
11+ this . e = e;
12+ }
13+ }
14+
15+ public static void main (String [] args ) throws Exception {
16+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
17+ int N = Integer . parseInt(br. readLine());
18+
19+ Meeting [] arr = new Meeting [N ];
20+
21+ for (int i = 0 ; i < N ; i++ ) {
22+ StringTokenizer st = new StringTokenizer (br. readLine());
23+ int s = Integer . parseInt(st. nextToken());
24+ int e = Integer . parseInt(st. nextToken());
25+ arr[i] = new Meeting (s, e);
26+ }
27+
28+ // 시작 시간 기준 정렬
29+ Arrays . sort(arr, (a, b) - > a. s - b. s);
30+
31+ // 종료 시간을 저장하는 최소 힙
32+ PriorityQueue<Integer > pq = new PriorityQueue<> ();
33+
34+ for (int i = 0 ; i < N ; i++ ) {
35+ int start = arr[i]. s;
36+ int end = arr[i]. e;
37+
38+ // 이미 끝난 회의는 회의실 재사용
39+ if (! pq. isEmpty() && pq. peek() <= start) {
40+ pq. poll();
41+ }
42+
43+ pq. offer(end);
44+ }
45+
46+ System . out. println(pq. size());
47+ }
48+ }
49+ ```
You can’t perform that action at this time.
0 commit comments