qktlf789456   3년 전

해당 힙으로 문제풀이도많이했는데 반례도못찾겠네요 ㅠ

slah007   3년 전

출력부가 잘못되었습니다. 109번 줄을 if(n==0)에만 넣어야 합니다.

qktlf789456   3년 전

아그렇군요, 해당 부분 수정해도 동일하게 틀렸네요 ㅠ 이상하네요.

slah007   3년 전

insert delete에서 swap(heap[parent], heap[child])가 아니라 그냥 heap[current]=heap[parent]가 정말 맞나요?

8
-1 1 0 2 -2 1 0 0

정답: -1 1 1 

출력: -1 1 -2

qktlf789456   3년 전

답변 감사합니다. 해결 후 코드는 내렸습니다.

swap 과정에서는 문제가없었습니다.

heap[current]=heap[parent] 는 while 문 내 에서만 이루어져도 되고,

마지막에 최종적으로 입력되어야할 위치에 key값이 입력되기만 하기때문에 swap 이 문제는 아니였습니다.

delete 과정에서 조건문에 이상한곳에 괄호가되어있어서 그거 해결하니 패스되네요 감사합니다.

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