본문 바로가기

Lis2

[leetcode] 354. Russian Doll Envelopes 문제 : https://leetcode.com/problems/russian-doll-envelopes/ 배열을 width 오름차순으로 정렬한다. 조건에서 width 는 고려하지 않게 하기 위함이다. 정렬 후 앞에 있는 요소의 width는 뒤에 있는 요소의 width 보다 항상 작거나 같으므로 height 만 고려하면 된다. 결국 정렬된 후 height의 LIS(최장 증가 수열)의 길이를 구하면 이게 정답이 된다. 위와 같은 알고리즘을 사용한다고 할 때, 고려할 점이 하나 있다. [[4,5],[4,6],[6,7],[2,3],[1,1]] 입력 배열이 위와 같을 때, [4,5] [4,6] 중 하나만 선택되게 해야 한다. height의 LIS로 정답을 구할 때 width가 동일한 요소들은 하나만 선택하게 하려.. 2022. 5. 26.
최장 감소 수열 (LDS), 최장 증가 수열 (LIS) 최장 감소 수열 (LDS: Longest Decreasing Sequence)과 최장 증가 수열(LIS: Longest Increasing Sequence)에 대해 알아보겠습니다. 저는 코드를 최장 감소 수열에 대해서 짰기 때문에 최장 감소 수열을 설명하겠습니다. 최장 증가 수열과 최장 감소 수열은 증가하느냐 감소하느냐의 차이 밖에 없으므로 코드를 짤 때도 부등호 하나의 차이밖에 나지 않으므로 LDS만 이해한다면 LIS 또한 이해할 수 있을 것입니다. 최장 감소 수열이란 가장 긴 감소하는 부분 수열을 말합니다. 예를 들어서 살펴보도록 하겠습니다. 위와 같이 30, 40, 5, 15, 10, 20인 수열이 존재한다면 이 수열에 대해서 최장 감소 수열은 40, 15, 10이 됩니다. 사실 코드를 어떻게 짜느.. 2019. 6. 7.