반응형
정렬 문제입니다.
정렬의 결과로는 두 가지가 나타날 수 있습니다. 먼저 처음 입력받은 값과 순서가 바뀔 경우와, 두 번째로 순서가 유지될 경우입니다.
모든 일에는 득실이 있기 마련이죠. 저희는 알고리즘에서 이것을 trade-off 관계라고 합니다.
마찬가지로 순서가 뒤섞인 만큼 정렬하는 데에 시간이 덜 걸릴 테고, 반대로 순서를 유지하는 만큼 시간은 더 걸릴 것입니다.
전자의 결과를 도출하는 정렬 방법에는 '합병 정렬(Merge Sort), 퀵 정렬(Quick Sort)' 등이 있고,
후자의 결과를 도출하는 정렬 방법에는 '선택 정렬(Selection Sort), 삽입 정렬(Insertion Sort)' 등이 있습니다.
즉 저희는 후자를 선택해야 한다는 것이죠.
만능(?) <algorithm> 헤더는 이 또한 지원하고 있습니다. stable_sort() 라는 함수가 바로 그것입니다.
이를 사용하여 푼다면 쉽게 풀 수 있는 문제입니다.
반응형