From a8e4eeaa055a8ff67afb9baf07f4b823226d0dc0 Mon Sep 17 00:00:00 2001
From: olive-su <1466su@gmail.com>
Date: Sun, 10 Dec 2023 21:33:06 +0900
Subject: [PATCH] =?UTF-8?q?post:=20[8=EC=A3=BC=EC=B0=A8=5F=EA=B9=80?=
=?UTF-8?q?=EC=88=98=EA=B2=BD]=20=EC=95=8C=EA=B3=A0=EB=A6=AC=EC=A6=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...4-\353\254\270\354\236\220\354\227\264.md" | 36 ++++++++++
...4\354\233\220-\354\235\270\354\233\220.md" | 65 +++++++++++++++++++
2 files changed, 101 insertions(+)
create mode 100644 "_posts/algorithm/\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264/2023-12-10-\352\271\200\354\210\230\352\262\275-\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264.md"
create mode 100644 "_posts/algorithm/\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220/2023-12-10-\352\271\200\354\210\230\352\262\275-\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220.md"
diff --git "a/_posts/algorithm/\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264/2023-12-10-\352\271\200\354\210\230\352\262\275-\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264.md" "b/_posts/algorithm/\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264/2023-12-10-\352\271\200\354\210\230\352\262\275-\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264.md"
new file mode 100644
index 0000000..4762aad
--- /dev/null
+++ "b/_posts/algorithm/\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264/2023-12-10-\352\271\200\354\210\230\352\262\275-\352\263\265\355\206\265-\353\266\200\353\266\204-\353\254\270\354\236\220\354\227\264.md"
@@ -0,0 +1,36 @@
+---
+title: ๐ฃ ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด
+author: olive-su
+date: 2023-12-10 20:00:00 +09:00
+categories: [์๊ณ ๋ฆฌ์ฆ, ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด]
+tags: [์๊ณ ๋ฆฌ์ฆ, ๋ฐฑ์ค, ๊ณจ๋5, DP, 8์ฃผ์ฐจ, ๊น์๊ฒฝ]
+render_with_liquid: false
+---
+
+## 1. ๋ฌธ์ ๋งํฌ
+
+[๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด](https://www.acmicpc.net/problem/5582)
+
+
+
+## 2. ์ฝ๋
+
+```python
+import sys
+
+input = sys.stdin.readline
+fir_str = input().rstrip()
+sec_str = input().rstrip()
+
+dp = [[0 for _ in range(len(fir_str) + 1)] for _ in range(len(sec_str) + 1)]
+
+for i in range(len(sec_str)):
+ for j in range(len(fir_str)):
+ if sec_str[i] == fir_str[j]:
+ dp[i + 1][j + 1] = dp[i][j] + 1
+
+answer = 0
+for d in dp:
+ answer = max(answer, max(d))
+print(answer)
+```
diff --git "a/_posts/algorithm/\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220/2023-12-10-\352\271\200\354\210\230\352\262\275-\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220.md" "b/_posts/algorithm/\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220/2023-12-10-\352\271\200\354\210\230\352\262\275-\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220.md"
new file mode 100644
index 0000000..b3518be
--- /dev/null
+++ "b/_posts/algorithm/\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220/2023-12-10-\352\271\200\354\210\230\352\262\275-\354\203\201\353\213\264\354\233\220-\354\235\270\354\233\220.md"
@@ -0,0 +1,65 @@
+---
+title: ๐ฃ ์๋ด์ ์ธ์
+author: olive-su
+date: 2023-12-10 20:00:00 +09:00
+categories: [์๊ณ ๋ฆฌ์ฆ, ์๋ด์ ์ธ์]
+tags: [์๊ณ ๋ฆฌ์ฆ, ํ๋ก๊ทธ๋๋จธ์ค, level2, ์์ ํ์, 8์ฃผ์ฐจ, ๊น์๊ฒฝ]
+render_with_liquid: false
+---
+
+## 1. ๋ฌธ์ ๋งํฌ
+
+[์๋ด์ ์ธ์](https://school.programmers.co.kr/learn/courses/30/lessons/214288)
+
+
+
+## 2. ์ฝ๋
+
+```python
+# FIFO
+# ๊ฐ ๋ฉํ ๋น ๋๋๋ ์๊ฐ ๊ธฐ๋ก
+# ๋๋๋ ์๊ฐ์ด ๋ ๋น ๋ฅธ ๋ฉํ ์๊ฒ ์๋ด ์งํ
+# ์ฐ์ ๋ฉํ ํ๋ช
์ฉ ๋ฐฐ์ ํ๊ณ ์ดํ, ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๊ฐ์ฅ ๊ธด ํ์๊ฒ ๋ฉํ ์ถ๊ฐ ๋ฐฐ์
+
+def min_time(start_time, end_time, group_queue):
+ wait_time = 0
+ min_v = int(1e9)
+ target_idx = 0
+
+ for i in range(len(group_queue)):
+ if group_queue[i] <= start_time:
+ target_idx = i
+ min_v = 0
+ break
+ # ์๊ฐ์ฐจ๊ฐ ์ต์๊ฐ ๋๋ ๊ฐ ์ฐพ๊ธฐ
+ if min_v > group_queue[i] - start_time:
+ target_idx = i
+ min_v = group_queue[i] - start_time
+
+ group_queue[target_idx] = max(start_time, group_queue[target_idx]) + end_time # ๋๋๋ ์๊ฐ์ผ๋ก ๋ฐ๊ฟ์ค
+ wait_time = min_v
+
+ return wait_time, group_queue
+
+
+def solution(k, n, reqs):
+ answer = 0
+ wait_queue = [[0] for _ in range(k + 1)]
+ n = n - k
+
+ while n >= 0:
+ wait_time = [0] * (k + 1) # ๊ฐ ๊ทธ๋ฃน๋ณ๋ก ๊ธฐ๋ค๋ ค์ผ ํ๋ ์๊ฐ ์ดํฉ
+ for start, end, g in reqs:
+ t, q = min_time(start, end, wait_queue[g])
+ wait_time[g] += t
+ wait_queue[g] = q
+
+ max_time = max(wait_time) # ๊ฐ ๊ทธ๋ฃน ์ค ์ต๋๋ก ๊ธฐ๋ค๋ ค์ผํ๋ ๊ทธ๋ฃน์ ์๊ฐ
+ wait_queue[wait_time.index(max_time)].append(0)
+ n -= 1
+ for i in range(k + 1):
+ wait_queue[i] = len(wait_queue[i]) * [0]
+
+ answer = sum(wait_time)
+ return answer
+```