From 1f59f7b9403c9bd4149bd81fd4db8fc8167dcb58 Mon Sep 17 00:00:00 2001 From: Gwangseok Han <66068653+c0natus@users.noreply.github.com> Date: Sun, 11 May 2025 21:32:12 +0900 Subject: [PATCH 1/2] Create 1958 gwangseok.py --- BaekJoon/1958/gwangseok.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 BaekJoon/1958/gwangseok.py diff --git a/BaekJoon/1958/gwangseok.py b/BaekJoon/1958/gwangseok.py new file mode 100644 index 0000000..b64c564 --- /dev/null +++ b/BaekJoon/1958/gwangseok.py @@ -0,0 +1,23 @@ +import sys +read_line = sys.stdin.readline + + +def lcs(str1, str2, str3): + dp = [[[0] * (len(str3) + 1) for _ in range(len(str2) + 1)] for __ in range(len(str1) + 1)] + + for i in range(len(str1)): + for j in range(len(str2)): + for k in range(len(str3)): + if str1[i] == str2[j] == str3[k]: + dp[i][j][k] = dp[i - 1][j - 1][k - 1] + 1 + else: + dp[i][j][k] = max(dp[i - 1][j][k], dp[i][j - 1][k], dp[i][j][k - 1]) + + return dp[len(str1)-1][len(str2)-1][len(str3)-1] + +# 입력 예제 +num_str = 3 +st = [read_line().strip() for _ in range(num_str)] + +# 결과 출력 +print(lcs(*st)) From 51e7205c3f960a55f7c0e57706907c531628ac9f Mon Sep 17 00:00:00 2001 From: Gwangseok Han <66068653+c0natus@users.noreply.github.com> Date: Sun, 11 May 2025 21:33:21 +0900 Subject: [PATCH 2/2] Update 1958 gwangseok.py --- BaekJoon/1958/gwangseok.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/BaekJoon/1958/gwangseok.py b/BaekJoon/1958/gwangseok.py index b64c564..909ac9a 100644 --- a/BaekJoon/1958/gwangseok.py +++ b/BaekJoon/1958/gwangseok.py @@ -15,9 +15,7 @@ def lcs(str1, str2, str3): return dp[len(str1)-1][len(str2)-1][len(str3)-1] -# 입력 예제 num_str = 3 st = [read_line().strip() for _ in range(num_str)] -# 결과 출력 print(lcs(*st))