kdi9703   3년 전

이 문제를 heap 을 for 문을 돌때마다 K와 일치하게 한 후에 K에서 heappop을 진행했는데,

도대체 왜 heap 안에 있는 원소들까지 heappop이 진행되는 건지 모르겠습니다.

heapq에 관해 지식이 얇팍해서 그런 것 같은데 알려주시면 감사하겠습니다.

wider93   3년 전

heapq에 관한 문제가 아니라, 파이썬이 자료형을 다루는 방식에 관한 문제입니다.

K = heap 을 실행하면 K가 heap의 주소를 가리키게 됩니다. 따라서 K에서 빼는 것과 heap에서 빼는 것은 같습니다.

원하시는 행동은 K = heap.copy()여야 할 것 같습니다만, 이러면 확실하게 시간 초과가 날 것 같네요.

kdi9703   3년 전

아 주소를 가리키게 되는군요.. ! 감사합니다 !

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