최장 증가 부분 수열(LIS, Longest Increasing Subsequence)
1. LIS란 무엇인가?1.1 정의주어진 배열에서 순서를 유지하면서 가장 긴 증가하는 부분 수열을 찾는 문제입니다.부분 수열은 배열의 원소 중 일부를 선택하여 만든 수열이며, 원소의 순서는 유지되어야 합니다.1.2 예제입력 배열: [10, 20, 10, 30, 20, 50]가능한 부분 수열:[10, 20] (길이: 2)[10, 20, 30] (길이: 3)[10, 20, 30, 50] (길이: 4)결과:LIS: [10, 20, 30, 50]LIS의 길이: 42. LIS 문제 해결 방법LIS 문제를 해결하기 위해 두 가지 대표적인 접근법이 있습니다.동적 계획법 (Dynamic Programming, DP)시간 복잡도: O(N²)간단하고 직관적.작은 배열에 적합.이분 탐색 (Binary Search)시간 복잡..
2024. 11. 28.