https://www.acmicpc.net/problem/1958
arr1 = input().rstrip()
arr2 = input().rstrip()
arr3 = input().rstrip()
dp = [[[0 for _ in range(len(arr1)+1)] for _ in range(len(arr2)+1)] for _ in range(len(arr3)+1)]
for k in range(1, len(arr3)+1):
for j in range(1, len(arr2)+1):
for i in range(1, len(arr1)+1):
if arr1[i-1] == arr2[j-1] == arr3[k-1]:
dp[k][j][i] = dp[k-1][j-1][i-1] + 1
else:
dp[k][j][i] = max(dp[k-1][j][i], dp[k][j-1][i], dp[k][j][i-1])
print(dp[len(arr3)][len(arr2)][len(arr1)])
'백준' 카테고리의 다른 글
백준 19941. 햄버거 분배 (0) | 2024.12.15 |
---|---|
백준 1515. 수 이어 쓰기 (0) | 2024.12.14 |
백준 11054. 가장 긴 바이토닉 부분 수열 (0) | 2024.11.28 |
백준 2631. 줄세우기 (0) | 2024.11.28 |
백준 5972. 택배 배송 (0) | 2024.11.27 |