[알고리즘] 12. Dynamic Programming (2)
6. 편집거리 (Edit Distance) 문제 정의: 편집 거리는 한 문자열을 다른 문자열로 변경하기 위해 필요한 편집 연산들의 최소 수를 의미한다. 연산의 종류는 [삽입, 삭제, 교체, 유지]가 있다. Idea: $D(i,j)$는 두 문자열 $S_1,\ S_2$ 에 대한 편집거리를 나타낸다고 하자. 제일 오른쪽 문자부터 비교를 하면서 연산들 중 값이 가장 작아지는 것을 고르면 된다. $D(i, j)$의 값은 아래 4가지 값들 중 가장 작은 값이다. $D(i, j-1) + 1$ - 삽입 $D(i-1, j) + 1$ - 삭제 $D(i-1, j-1) + diff(i, j)$ - 같으면 유지(0), 다르면 교체 (1) 7. LCS (Longest Common Subsequence) 문제 정의: 부분 서열 (..