문제 -> https://www.acmicpc.net/problem/9251
이 문제도 아주 곤욕을 치뤘다.
http://twinw.tistory.com/126 <- 이분의 친절한 풀이 덕에
해답을 찾았다.
1. 2차원 배열로 dp 표를 만든다.
2. 각 문자열의 길이대로 반복을 하여 비교 한다.
3. 비교 할 시, 두 가지 경우로 나뉘는데
1) 알파벳이 같은 경우
-> dp[i][j] = dp[i-1][j-1] + 1;
2) 알파벳이 다른 경우
-> dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
왜 위와 같이 나오는지는
위의 링크를 가서 설명을 보면 명쾌히 풀릴 것이다.
감사드립니다 White Whale님..
'BOJ' 카테고리의 다른 글
[BOJ][DP] 1904. 01타일 (0) | 2018.01.25 |
---|---|
[BOJ][DP] 11054. 가장 긴 바이토닉 수열 (0) | 2018.01.24 |
[BOJ][DP] 11722. 가장 긴 감소하는 부분 수열 (0) | 2018.01.22 |
[BOJ][DP] 11055. 가장 큰 증가 부분 수열 (0) | 2018.01.21 |
[BOJ][DP] 1699. 제곱수의 합 (0) | 2018.01.20 |