정상 작동하지 않으므로 문제를 잘 읽고 다시 잘 생각해보기 바랍니다.
11650번 - 좌표 정렬하기
정상 작동하지 않으므로 문제를 잘 읽고 다시 잘 생각해보기 바랍니다.
지금 작성하신 코드는 x좌표와 y좌표를 따로 정렬하는 작업을 입력받은 점의 개수만큼 반복하는 코드입니다.
O(NlogN) 정렬을 N번 하신 데다, 입출력 량이 꽤 많은데 cin, cout, endl 등의 느린 입출력 함수를 사용하신 점까지 시간 초과의 요소가 됩니다.
우선 정렬은 N번 할 필요가 없고, X와 Y의 값을 묶어서 정렬해야 합니다. 지금은 예를 들어, 점이 세 개
1 3
2 2
3 1
이 존재한다면, x좌표를 따로 정렬하고 y좌표를 따로 정렬하여
1 1
2 2
3 3
이 됩니다. 그런데 입력된 점에는 (1,1)도 없고 (3,3)도 없습니다.
페어(std::pair)로 묶어서 정렬하시거나, 구조체를 이용해 보세요.
댓글을 작성하려면 로그인해야 합니다.
rhwnsrb1223 4년 전
실행 값은 제대로 출력이 되는데,
시간초과 에러가 발생합니다.
저의 생각으로는 sort를 하기에 발생하는 문제같은데,
그 문제가 맞다면, 이와같은 문제는 어떻게 해결해야하나요?
또한, 그것이 아니라면 어떤 방법을 사용해야할지 감이 오지않습니다 ㅠ