본문 바로가기

Algorithm/Python

[Algorithm|Python] 백준 9251번

s1 = list(input())
s2 = list(input())
lcs = [[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]:
            lcs[i][j] = lcs[i-1][j-1] + 1
        else:
            lcs[i][j] = max(lcs[i-1][j], lcs[i][j-1])
            
print(max(map(max,lcs)))