[10814번] 나이순 정렬
Algorithm/백준 문제 풀이

[10814번] 나이순 정렬

반응형

백준 10814번: 나이순 정렬

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오.

www.acmicpc.net

정렬 문제입니다.

정렬의 결과로는 두 가지가 나타날 수 있습니다. 먼저 처음 입력받은 값과 순서가 바뀔 경우와, 두 번째로 순서가 유지될 경우입니다.

모든 일에는 득실이 있기 마련이죠. 저희는 알고리즘에서 이것을 trade-off 관계라고 합니다.

마찬가지로 순서가 뒤섞인 만큼 정렬하는 데에 시간이 덜 걸릴 테고, 반대로 순서를 유지하는 만큼 시간은 더 걸릴 것입니다.

전자의 결과를 도출하는 정렬 방법에는 '합병 정렬(Merge Sort), 퀵 정렬(Quick Sort)' 등이 있고,

후자의 결과를 도출하는 정렬 방법에는 '선택 정렬(Selection Sort), 삽입 정렬(Insertion Sort)' 등이 있습니다.

 

즉 저희는 후자를 선택해야 한다는 것이죠.

만능(?) <algorithm> 헤더는 이 또한 지원하고 있습니다. stable_sort() 라는 함수가 바로 그것입니다.

이를 사용하여 푼다면 쉽게 풀 수 있는 문제입니다.

 

[소스 보기]

반응형