From c665d61fd1f58298f12e10aef20ca4cea80d9437 Mon Sep 17 00:00:00 2001 From: suyeun84 <81475092+suyeun84@users.noreply.github.com> Date: Sat, 4 Oct 2025 18:06:41 +0900 Subject: [PATCH] =?UTF-8?q?[20251004]=20BOJ=20/=20G5=20/=20=EA=B0=95?= =?UTF-8?q?=EC=9D=98=EC=8B=A4=20/=20=EA=B9=80=EC=88=98=EC=97=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5 \352\260\225\354\235\230\354\213\244.md" | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 "suyeun84/202510/04 BOJ G5 \352\260\225\354\235\230\354\213\244.md" diff --git "a/suyeun84/202510/04 BOJ G5 \352\260\225\354\235\230\354\213\244.md" "b/suyeun84/202510/04 BOJ G5 \352\260\225\354\235\230\354\213\244.md" new file mode 100644 index 00000000..1438ffec --- /dev/null +++ "b/suyeun84/202510/04 BOJ G5 \352\260\225\354\235\230\354\213\244.md" @@ -0,0 +1,52 @@ +```java +import java.io.*; +import java.util.*; + +public class boj1374 { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int n = Integer.parseInt(br.readLine()); + Lecture[] arr = new Lecture[n]; + for (int i = 0; i < n; i++) { + StringTokenizer st = new StringTokenizer(br.readLine()); + st.nextToken(); + int start = Integer.parseInt(st.nextToken()); + int end = Integer.parseInt(st.nextToken()); + arr[i] = new Lecture(start, end); + } + Arrays.sort(arr, (o1, o2) -> o1.start - o2.start); + PriorityQueue pq = new PriorityQueue<>(); + pq.add(arr[0]); + for (int i = 1; i < n; i++) { + Lecture current = pq.peek(); + if (current.end <= arr[i].start) { + pq.poll(); + current.end = arr[i].end; + pq.add(current); + } else { + pq.add(arr[i]); + } + + } + System.out.println(pq.size()); + + } + + + public static class Lecture implements Comparable { + int start; + int end; + + public Lecture(int start, int end) { + this.start = start; + this.end = end; + } + + @Override + public int compareTo(Lecture o) { + if (this.end == o.end) return this.start - o.start; + return this.end - o.end; + } + } +} +```