[백준/19598] 최소 회의실 개수 - JAVA

이지환·2025년 6월 17일

알고리즘(백준) 💻

목록 보기
75/80
post-thumbnail

📌 문제

알고리즘 분류 : 그리디 알고리즘
난이도 : 골드5
출처 : 백준 - 최소 회의실 개수

🦧 문제 풀이 접근

그리디 알고리즘으로 문제를 해결한다.
시작시간 -> 종료시간 순으로 오름차순 정렬한다.
우선순위 큐를 이용해서 최소한의 회의실 갯수를 계산한다.

💻 code

import java.util.*;
import java.io.*;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        Meeting meetingArr[] = new Meeting[N];
        for(int i=0;i<N;i++) {
            StringTokenizer st = new StringTokenizer(br.readLine()," ");
            meetingArr[i] = new Meeting(Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()));
        }
        Arrays.sort(meetingArr);
        PriorityQueue<Integer> pq = new PriorityQueue<>();
        pq.offer(meetingArr[0].e);

        for(int i=1;i<N;i++) {
            if(pq.peek()<=meetingArr[i].s)
                pq.poll();
            pq.offer(meetingArr[i].e);
        }
        System.out.println(pq.size());
    }
}
class Meeting implements Comparable<Meeting>{
    int s;
    int e;
    public Meeting(int s, int e) {
        this.s = s;
        this.e = e;
    }

    @Override
    public int compareTo(Meeting o) {
        if(this.s!=o.s)
            return this.s - o.s;
        return this.e-o.e;
    }
}

🥇 결과

🎓 느낀점

회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!! 회의실 문제는 우선순위큐!!!

profile
takeitEasy

0개의 댓글