hun222y   8년 전

문제를 푸는데 시간 오버가 나는경우가 많아서 매우 슬픈데요 ㅠㅠ 

지금도 11728 번같은경우에도 퀵소트를 이용해서 배열을 정리헀는데도 불구하고 시간 오버가 뜨네요 

printf 뭐 이런걸 사용안하고 cin cout 이걸로 해서 그런가 시간오버가 되는데

두 배열을 각각 받고 

두 배열을 비교하면서 작은 순서대로 배열을 합치는게 빠르려나요?

아니면 제 코드에 불필요한 부분이 있는지 여쭈어 보고싶습니다 ㅠㅠ 가르침 부탁드려용 

onjo0127   8년 전

네 두 배열을 같이 보면서 작은 값부터 출력하는 게 빠릅니다.

배열에 넣지 않고 바로바로 출력하는 게 빠르고요.

저는 scanf printf 사용을 추천드립니다.

onjo0127   8년 전

참고로 algorithm에 구현되어 있는 std::sort를 사용하면

제한시간 내에 풀 수 있더라고요!

egpaltair   8년 전

저 문제의 가장 좋은 힌트는 "정렬되어있는 두 배열 A, B가 주어진다."인 거 같습니다 :D

hun222y   8년 전

댓글 달아주신 모든분들 정말 감사드립니다!!

plzrun   8년 전

아 정렬되어있는게 주어지는군요..

그냥 지나가다가 글 보게 되었는데, 저는 보통 이런문제 heap을 구현해서 풉니다.

priority_queue<int> maxheap; (queue 헤더 필요)

prioirty_queue<int, vector<int>, greater<int> > minheap; (queue, vector, functional 헤더 필요)

이렇게 선언만하고 push(), top(), pop()만 이용하면 간단데스~!

시간은 좀 걸리지만 그냥 정렬과 관련된건 아무생각없이 해결하기에 좋습니다 ㅎㅎ

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