오늘은 선택 알고리즘에 대해서 알아봅시다. 선택 문제 선택 알고리즘을 알아보기 전에, 이 알고리즘이 어떻게 나오게 되었는지를 알아봅시다. 그러기 위해서 선택 문제를 우선 설명해야할 것 같은데, 선택 문제란 정렬되지 않은 길이가 n인 수열에서 k번째로 작은 숫자를 찾는 문제를 의미합니다. 통상 이 문제를 해결하기 위한 단순한 알고리즘은 아래의 두가지 일 것입니다. 1. 주어진 수열에서 가장 작은 수를 찾는 과정을 k번 반복했을 때, k번째 작은 수를 찾을 수 있습니다. 선택된 가장 작은 수는 해당 수열에서 삭제하는 방식으로 말이죠. 이렇게 된다면 시간복잡도는 아마 O(kn)이 될 것입니다. 2. 숫자들을 정렬한 이후에, k번째에 위치한 수가 k번째로 작은 수가 될 것입니다. 이는 정렬 알고리즘의 시간복잡도..