Algorithm/boj

[파이썬] 9252 LCS 2

takeU 2022. 6. 16. 04:32
반응형
a, b = ' ' + input(), ' ' + input()
dp = [[''] * len(b) for _ in range(len(a))]

for i in range(1, len(a)):
    for j in range(1, len(b)):
        if a[i] == b[j]:
            dp[i][j] = dp[i - 1][j - 1] + a[i]
        else:
            if len(dp[i - 1][j]) >= len(dp[i][j - 1]):
                dp[i][j] = dp[i - 1][j]
            else:
                dp[i][j] = dp[i][j - 1]

print(len(dp[-1][-1]))
print(dp[-1][-1])

dp, LCS