# 예제 입력
ABRACADABRA
ECADADABRBCRDARA
# 예제 출력
5
dp=[[0]*(len(s2)+1) for _ in range(len(s1)+1)]
import sys
input = sys.stdin.readline
'''
input : ABRACADABRA
ECADADABRBCRDARA
output : 5'''
# s1=list(input().rstrip())
# s2=list(input().rstrip())
s1=input()
s2=input()
max_str_len=0
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
max_str_len=max(dp[i][j],max_str_len)
print(max_str_len)
공통 부분 문자열이 아니라 공통 부분 문자열의 길이가 필요한 것 이였는데 어떻게든 최대 공통 부분 문자열을 찾아서 그 문자열의 길이를 구할려고 했던 점이 문제를 못 푼 요인이였다.
정답은 나왔지만 계속해서 시간초과, 메모리 초과 가 나왔다.
이럴때에는 문제 접근 방식에 대해서 새롭게 고민해 볼 필요가 있는 것 같다.