문제풀이/백준(Boj) 문제풀이

[백준][동적 계획법1] 9251. LCS (파이썬/Python)

얄루몬 2021. 9. 17. 14:09

import sys
input = sys.stdin.readline

s1 = input().strip().upper()
s2 = input().strip().upper()

dp = [[0]*(len(s2)+1) for _ in range(len(s1)+1)]

for i in range(1,len(s1)+1):
    for j in range(1,len(s2)+1):
        if s1[i-1] == s2[j-1]:
            dp[i][j] = dp[i-1][j-1] + 1
        else:
            dp[i][j] = max(dp[i-1][j], dp[i][j-1])

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