댄코 - 댄싱코딩

[9252] LCS2 본문

코딩/알고리즘

[9252] LCS2

Jk hila 2017. 7. 3. 01:12

이 문제는 DP보다는 이전에 짰던 LCS1코드에 백트래킹을 사용해서 LCS값을 구하는 문제였다.


1.맨 오른쪽 아래에서 시작해서 d[i][j]값이
  • 왼쪽 --- d[i][j-1]
  • 왼쪽 위 --- d[i-1][j-1]
  • 위쪽 --- d[i-1][j]
값들 보다 전부 크다면 결과스택에 N[i](첫 문장의 i번째 글자)를 push한다.

2.그 외의 경우 왼쪽값과 같으면 왼쪽으로 이동하고,
3.그 외의 경우 위쪽으로 이동한다.

i == 0 || j == 0까지 이동하면 스택에 LCS 값이 나와 top부터 차례대로 pop한다.




'코딩 > 알고리즘' 카테고리의 다른 글

[1057] 토너먼트  (0) 2017.07.04
[1520] 내리막 길  (0) 2017.07.04
[1912] 연속합  (0) 2017.07.01
[9461] 파도반 수열  (0) 2017.07.01
[10844] 쉬운 계단수  (0) 2017.07.01
Comments