최장 증가 부분 수열 - LIS
📌 LIS LIS는 Longest increasing subsequence의 줄임말으로 증가하는 가장 긴 수열의 길이를 찾는 알고리즘이다. [10, 20, 10, 30, 20, 50]의 배열에서 가장 긴 증가 수열을 구하자면 [10, 20, 10, 30, 20, 50]으로 길이는 4가 된다. 이와 같이 배열 내에 가장 긴 증가 수열을 구하는 알고리즘을 LIS라고 한다. ✔️ DP - O(N^2) DP로 LIS를 풀기 전 점화식을 먼저 도출해야한다. DP의 점화식은 다음과 같다. dp[i] = Max(dp[i], dp[j]+1) 해당 관계식을 살펴보자. 주황색으로 칠해진 5에서의 dpArr(최대 길이)의 값을 구한다고 생각해보자. 5의 위치 전까지 dpArr이 어찌저찌해서 만들 수 있는 최대 길이가 채워졌..
2022. 8. 31.