a를 입력 받은 후 pop을 먼저하고 그 다음 push를 해서 틀리는 것 같습니다.
N = 5이고 기존 히프에 -2 -4 -6 -8 -10있다고 가정할 때, 1을 입력 받아 -1을 push하면 히프의 상태가 -1 -2 -4 -6 -8 -10이 되어 -1이 pop되야 합니다
하지만 이 코드에서는 -2를 pop하고 -1을 push하게 되서 -1 -4 - 6 -8 -10이 되므로 에러가 나는 것 같습니다.
size를 비교하여 pop을 하는 코드와 a를 push하는 코드의 순서와 조건문의 조건을 바꿔주시면 잘 작동합니다.
저도 배우는 입장이라 설명이 완벽하지 않을 수 있습니다. 틀린 부분이 있다면 알려주시면 감사하겠습니다.
gyd01059 5년 전 1
우선순위 큐를 이용하여 n개의 원소만 가지도록 한 후 출력하는 방식으로 풀었습니다.
반례를 알고 싶습니다..