-문제:https://www.acmicpc.net/problem/9252
-정답풀이:
LCS와 풀이는 같은데 다만 숫자가 아닌 문자를 dp에 넣으면 된다
x=['']+list(input())
y=['']+list(input())
dp=[['']*len(y) for _ in range(len(x))]
for i in range(1,len(x)):
for j in range(1,len(y)):
if x[i]==y[j]:
dp[i][j]=dp[i-1][j-1]+x[i]
else:
if len(dp[i-1][j])>=len(dp[i][j-1]):
dp[i][j]=dp[i-1][j]
else:
dp[i][j]=dp[i][j-1]
result=dp[-1][-1]
print(len(result))
print(result)
'백준 > DP' 카테고리의 다른 글
[dp/백준] 11660번: 구간 합 구하기 5 (0) | 2022.06.19 |
---|---|
[dp/백준] 9184번: 신나는 함수 실행 (0) | 2022.06.19 |
[dp/백준] 1937번: 욕심많은 판다(다시 풀어보기) (0) | 2022.06.18 |
[dp/백준] 1890번: 점프 (0) | 2022.06.17 |
[dp/백준] 2565번: 전깃줄 (0) | 2022.06.17 |