napnolem488   3년 전

예제를 대입해 보면 잘 나오는데, 왜 메모리 초과가 날까요? 코드 어디 부분이 잘못된 건지 알려주세요 ㅠ

ckdgus2482   3년 전

같은 sum인 노드가 큐에 중복으로 들어가는 것을 컷팅해야 합니다.

convert7342   3년 전

어차피 큐를 이용해서 풀이했으니 num이 작은 순서대로 queue에서 등장할겁니다.

따라서 큐에 push를 할 때 sum + v[i] 가 이미 등장했던 수라면 이 수는 큐에 넣을 필요가 없습니다.

위 코드에는@ckdgus2482 님이 말씀해주셨듯이 같은 sum인 노드가 큐에 중복으로 들어가기 때문에 메모리초과가 발생한 것입니다. 

별도의 visit 배열을 만들어 중복방문을 체크해주도록하면 되겠습니다.

napnolem488   3년 전

아하 감사합니다! 해결했어요.

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