minguu987   2년 전

최소힙을 만들고, 수를 한개씩 힙에 push하며, 길이가 N 이상이 됐을 때 pop하여 마지막에 pop한 값을 출력하는 코드를 짜려고 했습니다.  위의 코드는 제가 짜본 코드이고, 아래쪽에 주석 처리한 코드는 정답처리 된 코드입니다.

제가 생각해본 차이점은  힙에 값을 넣고, 크기가 N이상이라면 pop하냐(힙의 최대 크기를 N-1로) 아니면 힙의 크기가 N이상이라면 푸시하고 팝하냐(힙의 최대 크기를 N으로, 마지막에 한번 더 pop) 밖에 없는것 같은데 틀린 이유가 궁금합니다 ㅜㅜ

hyoseok   2년 전


반례입니다.

minguu987   2년 전

앗 힙크기가 N-1이면 N번째로 큰 수가 먼저 빠질 수 있네요,, 감사합니다!

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