LCS 알고리즘
최장 공통 부분문자열 (Longest Common Substring):
이는 두 개 이상의 문자열에서 연속적으로 나타나는 가장 긴 공통 부분 문자열을 찾는 문제다.
점화식
if i == 0 or j == 0: # 마진 설정
LCS[i][j] = 0
elif string_A[i] == string_B[j]:
LCS[i][j] = LCS[i - 1][j - 1] + 1
else:
LCS[i][j] = 0
최장 공통 부분수열 (Longest Common Subsequence):
두 개 이상의 수열에서 공통으로 나타나는 가장 긴 부분수열을 찾는 문제다.
점화식
if i == 0 or j == 0: # 마진 설정
LCS[i][j] = 0
elif string_A[i] == string_B[j]:
LCS[i][j] = LCS[i - 1][j - 1] + 1
else:
LCS[i][j] = max(LCS[i - 1][j], LCS[i][j - 1])
참고 자료
'TIL' 카테고리의 다른 글
[TIL] 정글 9주차 키워드 정리 (5) | 2024.11.12 |
---|---|
컴퓨터 구조와 운영체제 50분 만에 핵심 개념 정복하기 (1) | 2024.09.30 |
[TIL] 그리디 알고리즘(탐욕법, Greedy Algorithm) (1) | 2024.09.28 |
[TIL] 다이나믹 프로그래밍(Dynamic Programming, DP) (0) | 2024.09.27 |
최소 신장 트리(Minimum Spanning Tree, MST) : 가장 경제적인 방식으로 모든 지점을 연결한다 (4) | 2024.09.25 |