파이썬 heapq 모듈을 이용해서 priority queue 를 사용해 봅시다.
안녕하세요. 5일 만에 돌아온 코딩개 입니다. 제가 낸 코딩 테스트 문제 중에 heap 자료구조를 이용하는 문제가 있었습니다. 1회에 유독 많이 냈던 걸로 기억하는데요. 파이썬에서는 heapq 모듈과 tuple을 이용하면 날먹 수준으로 쉽게 구현하실 수 있어요. 예제 코드를 볼게요. 먼저 2번째 줄은 prioroity queue 역할을 할 배열을 선언한 거에요. 다음에 heappush를 하는데요. pq에 tuple (1, 2)를 넣습니다. 4번째 줄에는 (-1, 3)을 넣어요. 다음에, 5번째 줄에서, pq에서 맨 위에 있는 원소를 pop 하면서 맨 위에 있었던 원소를 가져오게 됩니다. 그리고 다시 (-1, 6)을 heap에 넣고, 7번째 줄에서 pq[0]에 무엇이 들어있는지만 봅니다. heappop하고..
코딩/파이선
2021. 11. 5. 23:24
최근댓글