
최장 증가 부분 수열이란? 어떤 수열이 나열되어 있을 때, 그 배열 순서를 유지하면서 점점 커지는 부분 수열의 가장 길이가 긴 수열을 구하는 문제. ex) 3, 1, 5, 2, 4, 6 이라는 수열이 있을 때, 3, 1, 5, 2, 4, 6 --> [1, 2, 4, 6] 이라는 해를 구할 수 있고, 길이는 4이다. 접근법 + Java 코드 1. 완전 탐색 수열의 모든 부분집합을 구한 후, 길이가 긴 수열부터 그 부분집합이 증가하는 수열인지 확인한다. 이 방법은 부분집합을 전부 구하는 Brute-force 방법이기 때문에, 시간복잡도는 O(2^n)이라고 할 수 있다. ex) [3, 1, 2, 4, 5, 6] -> [3, 1, 2, 4, 5] , [3, 1, 2, 4, 6] , [3, 1, 2, 5, 6] ..