본문 바로가기
프로그래밍/백준(C++)

[실5] 10814. 나이순정렬

by 싸비비 2022. 8. 31.

[출처] https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

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

www.acmicpc.net


이 문제는 얼핏 보면 단순히 벡터로 입력받아 sort()함수로 정렬해서 출력하면 될것처럼 보이지만

sort()함수로 하면 순서를 보장받지 못하기 때문에

stable_sort()함수를 사용해야 한다. 무슨 말이냐면 sort()함수는 4 2 1 3 4 를 1 2 3 4 4 로 정렬을 시켰을때 4끼리의 순서가 보장받지 못한다. 그러나 stable_sort()함수를 사용하면 4 2 1 3 4 에서의 앞에있는 4가 1 2 3 4 4 에서의 먼저오는 4이다. 이런 순서를 보장받는다.

 

pair<> 를 사용해서 int와 string를 같이 입력 받고

stable_sort()함수를 사용하여 순서를 보장받아 정렬하고 출력하였다.

'프로그래밍 > 백준(C++)' 카테고리의 다른 글

[실2] 2805. 나무 자르기  (0) 2022.09.09
[실2] 1874. 스택 수열  (0) 2022.09.06
[실4] 9012. 괄호  (0) 2022.08.20
[실4] 2164. 카드2  (0) 2022.08.20
[브5] 10699. 오늘 날짜  (0) 2022.03.14

댓글