1920번 - 수 찾기
퀵소트하고 이진탐색으로 했습니다
예제 결과는 똑같이 나오고 테스트 몇개 해봤는데 잘 나옵니다...
근데 자꾸 틀렸다고 나와요 ㅠㅠ
도와주십쇼....
이거 진짜 이상하네요..
여기서 qsort대신 C++ sort 사용하니까 맞는데,
그렇다고 qsort사용법이 잘못된거 같진 않은데, 왜틀리지..
이렇게 하면 accept뜨네여
compare 함수 작성을 잘못하신거 같습니다.
일반적인 경우 return (*(int*)a - *(int*)b); 에서도 잘 작동하지만
a - b가 int범위 값을 넘어가는 경우 정렬결과가 이상하게 나올수도 있습니다.
ex) a=20억 b=-20억
따라서 compare 함수를 return (*(int*)a > *(int*)b); 로 바꿔주시면 될 것 같습니다.
아하^^ deneb님,skdudn 님 감사합니다~!
댓글을 작성하려면 로그인해야 합니다.
Conatuseus 6년 전
퀵소트하고 이진탐색으로 했습니다
예제 결과는 똑같이 나오고 테스트 몇개 해봤는데 잘 나옵니다...
근데 자꾸 틀렸다고 나와요 ㅠㅠ
도와주십쇼....