heapq 이진트리 기반의 최소 힙 자료구조를 사용할 수 있다. 만약 자료구조를 정렬된 상태로 유지할 필요가 있을 경우 계속해서 정렬을 하는 것 보다는, heapify하는 것이 효율적이다. import heapq heap = [] heapq.heappush(heap, 7) heapq.heappush(heap, 1) heapq.heappush(heap, 5) heapq.heappush(heap, 3) heapq.heappop(heap) 리스트를 만들고 리스트에 값을 삽입 삭제 할 경우, heapq의 메소드를 사용하면 최소힙 성질을 가진다. 최소힙의 경우, 모든 원소(k)는 자식 원소들(2k+1, 2k+2) 보다 크기가 작다. 따라서 해당 예제는 [1, 3, 5, 7]로 정렬되어 최소힙이 유지되게 된다. h..
무엇을 활용하면 좋을까? 프로그래밍 언어는 각 언어마다 제공하는 기능이 조금씩 상이하다. 파이썬의 경우 다양한 built-in function을 통해 코드를 간결하게 작성하고, 빠르게 작성할 수 있는 장점이 있다. 이를 잘 숙지한다면, 코딩 테스트와 같은 상황에서 효율적으로 문제에 접근할 수 있을 것이다. List 내 각 요소 변경 기본 적으로 리스트를 활용하기 위해서는 리스트에 값을 추가, 삭제, 변경이 필요하다. (각 함수들은 반환값이 존재하지 않는다.) 1. append # 리스트 마지막 인덱스 뒤에 값 삽입 list.append(item) 2. extend # 리스트1에 리스트2의 원소들을 가져옴 list1.extend(list2) 3. insert # 원하는 인덱스 위치에 값을 삽입 list.i..