Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions src/algorithms/sets/longest-increasing-subsequence/README.ko-KR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# 최장 증가 부분 수열

최장 증가 부분 수열 문제는 주어진 수열에서 원소가 작은 값부터 큰 값 순으로
증가하는 부분 수열 중 길이가 가장 긴 것을 찾는 문제입니다.
이 부분 수열의 원소들은 원래 수열에서 연속해서 나타날 필요가 없습니다.
또한 최장 증가 부분 수열은 여러 개일 수 있습니다.

## 복잡도

최장 증가 부분 수열 문제는 `O(n log n)` 시간에 해결할 수 있습니다.
여기서 `n`은 입력 수열의 길이입니다.

동적 계획법을 사용하는 방식의 시간 복잡도는 `O(n * n)`입니다.

## 예시

이진 Van der Corput 수열의 처음 16개 항이 다음과 같을 때,

```
0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15
```

최장 증가 부분 수열 중 하나는 다음과 같습니다.

```
0, 2, 6, 9, 11, 15.
```

이 부분 수열의 길이는 6이며, 입력 수열에는 길이가 7인 증가 부분 수열이 없습니다.
이 예시에서는 최장 증가 부분 수열이 여러 개입니다.
예를 들어, 다음 부분 수열들도 같은 입력 수열에서 얻을 수 있으며 길이가 모두 같습니다.

```
0, 4, 6, 9, 11, 15 또는
0, 2, 6, 9, 13, 15 또는
0, 4, 6, 9, 13, 15
```

## 참고 자료

- [위키백과](https://en.wikipedia.org/wiki/Longest_increasing_subsequence)
- [동적 계획법을 이용한 접근 방식 설명 영상](https://www.youtube.com/watch?v=CE2b_-XfVDk&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)