1655번 - 가운데를 말해요
이 문제를 heap 을 for 문을 돌때마다 K와 일치하게 한 후에 K에서 heappop을 진행했는데,
도대체 왜 heap 안에 있는 원소들까지 heappop이 진행되는 건지 모르겠습니다.
heapq에 관해 지식이 얇팍해서 그런 것 같은데 알려주시면 감사하겠습니다.
heapq에 관한 문제가 아니라, 파이썬이 자료형을 다루는 방식에 관한 문제입니다.
K = heap 을 실행하면 K가 heap의 주소를 가리키게 됩니다. 따라서 K에서 빼는 것과 heap에서 빼는 것은 같습니다.
원하시는 행동은 K = heap.copy()여야 할 것 같습니다만, 이러면 확실하게 시간 초과가 날 것 같네요.
아 주소를 가리키게 되는군요.. ! 감사합니다 !
댓글을 작성하려면 로그인해야 합니다.
kdi9703 3년 전
이 문제를 heap 을 for 문을 돌때마다 K와 일치하게 한 후에 K에서 heappop을 진행했는데,
도대체 왜 heap 안에 있는 원소들까지 heappop이 진행되는 건지 모르겠습니다.
heapq에 관해 지식이 얇팍해서 그런 것 같은데 알려주시면 감사하겠습니다.