pair::operator< 자체가 first가 같으면 그 다음 second를 비교하기 때문에 {21,jun}과 {21,do}는 대소관계가 성립하는 서로 다른 값입니다. 따라서 stable이든 아니든 같은 결과를 내게 됩니다.
pair에서 stable_sort를 통해 순서가 유지되려면 second까지 같아야 합니다. (즉, 이 문제에서는 의미가 없습니다.)
10814번 - 나이순 정렬
pair를 통해서 문제를 해결했는데 말씀하신대로라면 제가 작성해 AC뜬 코드도 문제가 있는데 백준에서 걸러내지 못한것같네요. 감사합니다
감사합니다!
댓글을 작성하려면 로그인해야 합니다.
2015136077 4년 전
해당 코드의 입력을
3
21 jun
21 do
20 sun
으로 입력을 했다면
stable_sort에 의해 출력값이 일치하기에 두번째 값들은 인덱스 순서를 유지하여
20 sun
21 jun
21 do
가 출력되어야 한다 생각했습니다.
근데 sort나 stable_sort나 결과 값이
20 sun
21 do
21 jun이 나오는데 이해가 가지않습니다.
왜 둘의 결과가 차이가 없이 출력되나요.