Longest Common Subsequence/Substring (LCS) Algorithm
Dynamic Programming 카테고리의 알고리즘입니다. 두 개의 문자열이 있다고 가정합시다. 각각 subject, target이라고 부르겠습니다. subject = ACAYKP, target = CAPCAK이라고 합니다. 이 때, subject = ACAYKP의 부분 수열이라 함은 다음을 가리킵니다. 0, A, CAY, CYP, ACAYKP... 등등. 가장 작은 부분 수열은 공집합이며, 가장 큰 부분 수열은 문자열 그 자신입니다. 여기서 중요하게 짚고 넘어가야 할 점이 있습니다. LCS라는 표현을 쓸 때, longest common SUBSEQUENCE인지, longest common SUBSTRING인지 잘 확인해야 합니다. 번역하면 최장 공통 수열, 최장 공통 문자열이 되겠습니다. 이 둘의 ..
2020. 11. 15.