From 1ea8d9c7b587cd0108508a3083047d2e67351133 Mon Sep 17 00:00:00 2001 From: JengYoung Date: Fri, 21 Jun 2024 09:00:12 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9D=B4=EC=A4=91=EC=9A=B0=EC=84=A0?= =?UTF-8?q?=EC=88=9C=EC=9C=84=ED=81=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40\354\210\234\354\234\204\355\201\220.md" | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 "\355\231\251\354\236\254\354\230\201/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.md" diff --git "a/\355\231\251\354\236\254\354\230\201/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.md" "b/\355\231\251\354\236\254\354\230\201/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.md" new file mode 100644 index 0000000..d3c3d48 --- /dev/null +++ "b/\355\231\251\354\236\254\354\230\201/\354\235\264\354\244\221\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.md" @@ -0,0 +1,52 @@ +```kt +import java.util.* + +class Solution { + fun solution(operations: Array): IntArray { + val minHeap = PriorityQueue(Comparator { a, b -> a - b }); + val maxHeap = PriorityQueue(Comparator { a, b -> b - a }); + + var length = 0; + + operations.forEach({ operation -> + var (command, str) = operation.split(" "); + + val num = str.toInt() + + if (command == "I") { + length += 1; + + maxHeap.add(num); + minHeap.add(num); + } else { + if (length > 0) { + length -= 1; + + if (num == 1) { + maxHeap.poll(); + } + + if (num == -1) { + minHeap.poll(); + } + + if (length == 0) { + while (maxHeap.size > 0) { + maxHeap.poll(); + } + + while (minHeap.size > 0) { + minHeap.poll(); + } + } + } + } + }); + + val maxValue = if (maxHeap.size > 0) maxHeap.poll() else 0; + val minValue = if (minHeap.size > 0) minHeap.poll() else 0; + + return intArrayOf(maxValue, minValue); + } +} +```