From 933b955cd2f23c5f32e407de42e5f84b7854f980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=8B=A0=EC=A7=80?= <101992179+ksinji@users.noreply.github.com> Date: Thu, 20 Nov 2025 23:24:12 +0900 Subject: [PATCH] =?UTF-8?q?[20251120]=20PGM=20/=20LV2=20/=20=ED=98=B8?= =?UTF-8?q?=ED=85=94=20=EB=8C=80=EC=8B=A4=20/=20=EA=B0=95=EC=8B=A0?= =?UTF-8?q?=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\355\205\224 \353\214\200\354\213\244.md" | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 "ksinji/202511/20 PGM \355\230\270\355\205\224 \353\214\200\354\213\244.md" diff --git "a/ksinji/202511/20 PGM \355\230\270\355\205\224 \353\214\200\354\213\244.md" "b/ksinji/202511/20 PGM \355\230\270\355\205\224 \353\214\200\354\213\244.md" new file mode 100644 index 00000000..9402a8a8 --- /dev/null +++ "b/ksinji/202511/20 PGM \355\230\270\355\205\224 \353\214\200\354\213\244.md" @@ -0,0 +1,46 @@ +```java +import java.util.*; + +class Solution { + public int solution(String[][] book_time) { + int n = book_time.length; + int[][] times = new int[n][2]; + + for (int i = 0; i < n; i++) { + int start = toMinutes(book_time[i][0]); + int end = toMinutes(book_time[i][1]) + 10; + + times[i][0] = start; + times[i][1] = end; + } + + Arrays.sort(times, (a, b) -> a[0] - b[0]); + + PriorityQueue pq = new PriorityQueue<>(); + + int answer = 0; + for (int i = 0; i < n; i++) { + int start = times[i][0]; + int end = times[i][1]; + + while (!pq.isEmpty() && pq.peek() <= start) { + pq.poll(); + } + + pq.offer(end); + + answer = Math.max(answer, pq.size()); + } + + return answer; + } + + private int toMinutes(String time) { + String[] temp = time.split(":"); + int h = Integer.parseInt(temp[0]); + int m = Integer.parseInt(temp[1]); + return h * 60 + m; + } +} + +```