[백준] 9251번 : LCS (python 파이썬)
5846 단어 백준다이나믹 프로그래밍문자열다이나믹 프로그래밍
👉 9251번 : LCS
✍ 내 코드
# 골드 5레벨 LCS
from sys import stdin
read = stdin.readline
str1 = list(read().strip())
str2 = list(read().strip())
dp = [[0] * (len(str1) + 1) for _ in range(len(str2) + 1)]
for x in range(1, len(str2) + 1):
for y in range(1, len(str1) + 1):
if str1[y - 1] == str2[x - 1]:
dp[x][y] = dp[x - 1][y - 1] + 1
else:
dp[x][y] = max(dp[x - 1][y], dp[x][y - 1])
print(dp[len(str2)][len(str1)])
✍ 팁
- 다이나믹 프로그래밍을 이용해서 하나의 문자열에 다른 하나의 문자열을 한글자씩늘려가면 같은게 얼마나 있는지 체크하는 것 이다.
Author And Source
이 문제에 관하여([백준] 9251번 : LCS (python 파이썬)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@coding_egg/백준-9251번-LCS-python-파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)