dusto   3년 전

단어정렬하는 문제입니다

첫번째 조건이 길이 순서이고

두번째 조건이 사전 순서이며

출력시 중복되지 않아야 한다고 합니다.


map에 <문자열, 문자열 길이> 형태의 데이터로 저장하였고,

map에서 어차피 문자열을 사전순으로 정렬해주고, 중복방지를 해주니까

코드에서는 1번 조건만 수행해주었습니다. compare 함수를 보면 second 부분만 비교하고 있습니다.

일단 예제입력에 대해서는 올바르게 나오는데

코드 제출하면 틀렸다고합니다..ㅠㅠ 무엇이 문제인지.. 도움 부탁드립니다!

sr5757   3년 전

c++의 sort는 unstable sort로 값이 같을 때(이 코드의 경우에는 pair에 저장된 단어의 길이가 같을 때) 입력값과 출력값의 순서가 달라질 수 있습니다.

stable_sort를 사용하시면 됩니다.

dusto   3년 전

헉 답변 늦어서 죄송합니다.. 

너무 감사합니다 덕분에 많은 걸 알아갑니다! ^^

댓글을 작성하려면 로그인해야 합니다.