로직에는 문제가 없는 것으로 보이나 2022 visual studio로 돌린 결과 t[0]에 1, 7이 들어있었습니다. 채점서버와 vs의 환경차이로 발생한 문제가 아닌가 생각해봅니다.
1931번 - 회의실 배정
dev로 돌렸으며 1 7이 들어가서 3이 나오면 잘못된 정답인거 아닌가요? 제가 찾은 답은 4개일텐데요..
https://ideone.com/dHIJEF 말씀하신 예제 4로 출력됩니다.
제가 정확히 알고 있는 것인지는 모르겠으나, cmp 함수의 구현이 잘못된 것 같습니다. qsort에 넘겨주는 비교 함수는 a<b이면 음의 정수를, a==b이면 0을, a>b이면 양의 정수를 반환해야 합니다. 그런데 이 코드는 오로지 0과 1만 반환합니다. a<b로 판정해야 하는 경우 음의 정수가 아니라 0을 반환하고 있기 때문에 qsort의 구현체에 따라서는 이 경우 두 원소가 같다고 했으므로 둘의 위치를 그냥 바꿔치기를 하더라도 문제가 없다는 것입니다. 따라서 환경에 따라서 서로 다른 정렬 결과가 나올 수 있습니다.
댓글을 작성하려면 로그인해야 합니다.
quddbs0409 1년 전