201116313   6년 전

아까 틀렸다고 나와서 배열 x, y, h 지정을 수정하니까 이제는 메모리 초과네요...

왜 그런지 파악이 안되네요.. 

일단은 코드 첨부합니다.

봐주셔서 감사합니다.

djm03178   6년 전

큐에 넣을 때는 x, y, h 순으로 넣는데 뺄 때는 h, y, x 순으로 빼네요.

201116313   6년 전

q.front쪽 말씀하시는거면 그거는 상관없어보입니다.. q.pop에서 일괄적으로 빼는것이라..

djm03178   6년 전

그게 문제가 아니라, 큐에 들어가는 객체가 pair<int, pair<int, int>>인데, 각각이 <x, <y, h>> 이렇게 들어가 있는 상태인 걸 뺄 때는 <h, <y, x>> 로 빼니까 서로 맞지 않는다는 의미입니다.

djm03178   6년 전

예시를 들자면 x = 1,  y = 2, h = 3인 상태에서 큐에 넣을 때 만들어진 pair 객체를 p라고 하면 p.first = 1, p.second.first = 2, p.second.second = 3으로 넣었는데, 이걸 큐에서 빼고 나서는 h = p.first, y = p.second.first, x = p.second.second로 넣었으니까 h = 1, y = 2, x = 3으로 값이 서로 뒤죽박죽이 되었다는 얘기죠.

201116313   6년 전

아 네 맞ㄴ네요 x,y,h 지정 바꾸면서 푸쉬는 깜빡했네요 다시해보겠습니다. 감사합니다.

201116313   6년 전

바꾸니까 처음상태처럼 틀렸다고 뜨네요. 아무래도 로직을 다시한번 짜면서 놓친거 없는지 봐야겠습니다.

201116313   6년 전

해결했습니다. 지적감사합니다.

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