Skip to content

Commit 1ad4b61

Browse files
Update taurus09318976.py
1 parent c360d86 commit 1ad4b61

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

โ€Žlongest-common-subsequence/taurus09318976.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
3) ๋‘ ๋ฌธ์ž๊ฐ€ ๋‹ค๋ฅด๋ฉด, ์œ„์ชฝ ๋˜๋Š” ์™ผ์ชฝ ์ค‘ ๋” ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ด
88
99
์‹œ๊ฐ„ ๋ณต์žก๋„: O(m ร— n)
10-
์™ธ๋ถ€ ๋ฐ˜๋ณต๋ฌธ์ด m๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค (text1์˜ ๊ธธ์ด)
11-
๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ์ด n๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค (text2์˜ ๊ธธ์ด)
12-
๊ฐ ๋ฐ˜๋ณต์—์„œ ํ•˜๋Š” ์ž‘์—…์€ ์ƒ์ˆ˜ ์‹œ๊ฐ„ O(1)์ž…๋‹ˆ๋‹ค
13-
๋”ฐ๋ผ์„œ ์ด ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(m ร— n)์ž…๋‹ˆ๋‹ค
10+
์™ธ๋ถ€ ๋ฐ˜๋ณต๋ฌธ์ด m๋ฒˆ ์‹คํ–‰๋จ (text1์˜ ๊ธธ์ด)
11+
๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ์ด n๋ฒˆ ์‹คํ–‰๋จ (text2์˜ ๊ธธ์ด)
12+
๊ฐ ๋ฐ˜๋ณต์—์„œ ํ•˜๋Š” ์ž‘์—…์€ ์ƒ์ˆ˜ ์‹œ๊ฐ„ O(1)์ž„
13+
๋”ฐ๋ผ์„œ ์ด ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(m ร— n)์ž„
1414
1515
๊ณต๊ฐ„ ๋ณต์žก๋„: O(m ร— n)
16-
(m+1) ร— (n+1) ํฌ๊ธฐ์˜ 2์ฐจ์› ๋ฐฐ์—ด dp๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค
16+
(m+1) ร— (n+1) ํฌ๊ธฐ์˜ 2์ฐจ์› ๋ฐฐ์—ด dp๋ฅผ ์‚ฌ์šฉํ•จ
1717
๋”ฐ๋ผ์„œ ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(m ร— n)์ž…๋‹ˆ๋‹ค
1818
1919
'''
@@ -25,25 +25,23 @@ def longestCommonSubsequence(self, text1: str, text2: str):
2525

2626
# (m+1) x (n+1) ํฌ๊ธฐ์˜ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ชจ๋“  ๊ฐ’์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™”
2727
# +1์„ ํ•˜๋Š” ์ด์œ : ๋นˆ ๋ฌธ์ž์—ด๊ณผ์˜ ๋น„๊ต๋ฅผ ์œ„ํ•ด ์ฒซ ๋ฒˆ์งธ ํ–‰๊ณผ ์—ด์„ 0์œผ๋กœ ๋‘ 
28-
dp = [[0] * (n + 1) for _ in range(m + 1)]
28+
dp = [[0] * (n + 1) for k in range(m + 1)]
2929

3030
# 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ด์œ : 0๋ฒˆ์งธ ํ–‰๊ณผ ์—ด์€ ๋นˆ ๋ฌธ์ž์—ด์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ์ด๋ฏธ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋จ
3131
for i in range(1, m + 1): # text1์˜ ๊ฐ ๋ฌธ์ž์— ๋Œ€ํ•ด
3232
for j in range(1, n + 1): # text2์˜ ๊ฐ ๋ฌธ์ž์— ๋Œ€ํ•ด
3333
# text1์˜ (i-1)๋ฒˆ์งธ ๋ฌธ์ž์™€ text2์˜ (j-1)๋ฒˆ์งธ ๋ฌธ์ž๊ฐ€ ๊ฐ™์€์ง€ ํ™•์ธ
3434
# i-1, j-1์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ : dp ๋ฐฐ์—ด์€ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘
3535
if text1[i-1] == text2[j-1]:
36-
# ๊ฐ™์œผ๋ฉด: ๋Œ€๊ฐ์„  ์œ„ ๊ฐ’์— 1์„ ๋”ํ•จ (์ด์ „๊นŒ์ง€์˜ LCS + ํ˜„์žฌ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž 1๊ฐœ)
36+
# ๊ฐ™์œผ๋ฉด: ๋Œ€๊ฐ์„  ์œ„ ๊ฐ’์— 1์„ ๋”ํ•จ (์ด์ „๊นŒ์ง€์˜ ๊ฐ€์žฅ ๊ธด ๊ณตํ†ต ๋ถ€๋ถ„์ˆ˜์—ด + ํ˜„์žฌ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž 1๊ฐœ)
3737
dp[i][j] = dp[i-1][j-1] + 1
3838
else:
3939
# ๋‹ค๋ฅด๋ฉด: ์œ„์ชฝ ๊ฐ’๊ณผ ์™ผ์ชฝ ๊ฐ’ ์ค‘ ๋” ํฐ ๊ฐ’์„ ์„ ํƒ
4040
# ์œ„์ชฝ: text1์—์„œ ํ˜„์žฌ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๊ฒฝ์šฐ
4141
# ์™ผ์ชฝ: text2์—์„œ ํ˜„์žฌ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๊ฒฝ์šฐ
4242
dp[i][j] = max(dp[i-1][j], dp[i][j-1])
4343

44-
# dp[m][n]์—๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ LCS ๊ธธ์ด๊ฐ€ ์ €์žฅ๋จ
44+
# dp[m][n]์—๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ๊ฐ€์žฅ ๊ธด ๊ณตํ†ต ๋ถ€๋ถ„์ˆ˜์—ด ๊ธธ์ด๊ฐ€ ์ €์žฅ๋จ
4545
return dp[m][n]
4646

4747

48-
49-

0 commit comments

Comments
ย (0)