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])
'문제풀이 > 백준(Boj) 문제풀이' 카테고리의 다른 글
[백준][그리디 알고리즘] 11047. 동전 0 (파이썬/Python) (0) | 2021.09.18 |
---|---|
[백준][동적 계획법1] 10844. 쉬운 계단 수 (파이썬/Python) (0) | 2021.09.18 |
[백준][동적 계획법1] 11054. 가장 긴 바이토닉 부분 수열 (파이썬/Python) (0) | 2021.09.17 |
[백준][동적 계획법1] 2565 . 전깃줄 (파이썬/Python) (0) | 2021.09.16 |
[백준][동적 계획법1] 11053. 가장 긴 증가하는 부분 수열LIS(파이썬/Python) (0) | 2021.09.15 |