파이썬 3

Python3 | venv로 가상환경을 관리하자

원래 보통 conda를 이용해서 가상환경을 관리했는데, 최근 사용하는 서버에서 자꾸 conda 환경이 충돌나는건지 독립된 환경 관리가 안 되는것을 파악해서 venv로 넘어갔다ㅎㅎ 나 같은 경우는 python3만 사용하기 때문에 더 복잡한 가상환경 툴은 필요 없을 것 같았다.venv의 최대 장점은 아래와 같다.별도의 설치가 필요 없으며, 가볍다.사용법도 단순하다.관리가 쉽다.가상환경 생성python -m venv [가상환경이름]위의 명령어를 통해서 간단하게 가상환경을 만들 수 있다. 이러면 설치된 파이썬의 버전을 갖고 있는 가상환경이 생긴다. 이러면 현재 위치에서 [가상환경이름] 폴더가 생긴다. (보통은 가상환경을 만들어서 사용하는 프로젝트 폴더에 많이 만든다.) 가상환경 활성화source [가상환경이름]..

🍑 잡지식 2023.11.07

Python3 | 파이썬에서 우선순위큐(heap)를 사용하자 (heapq 사용법)

우선순위큐, 흔히 힙이라고 하는 자료구조도 코딩테스트에서 나름 자주 등장하는 아이들이다. 직접 힙을 만들어서 사용할 수도 있지만 더 많은 시간이 소요되니 파이썬에서 제공해주는 패키지를 활용하자. 파이썬에서 우선순위큐를 이용하기 위해서는 PriorityQueue와 heapq를 사용할 수 있는데 이 포스팅에서는 heapq의 간단한 문법만 기록할 것이다. import heapq q = [] heapq.heappush(q, 1) heapq.heappush(q, 3) heapq.heappush(q, 2) heapq.heappop(q) heapq.heappop(q) heapq.heappop(q) 사용법은 아주 간단하다. 일단 heapq를 import해주고, 리스트를 하나 선언해준다. 그리고 [code]heapq.h..

Python3 | 파이썬에서 큐(queue)를 사용하자 (deque 사용법)

큐와 스택은 자료구조의 기본이라고 볼 수 있는데 파이썬에서는 이를 어떻게 구현하면 좋을까! 사실 파이썬은 워낙 리스트와 인덱싱이 편리하게 되어 있어서 리스트만으로도 구현할 수는 있다. lst.pop(0)# 가장 왼쪽의 요소를 꺼내준다. (queue에서의 dequeue) lst.pop()# 가장 오른쪽의 요소를 꺼내준다. (stack에서의 pop) 하지만 위처럼 구현했을 때 가장 큰 문제점은 너무 느리다는 것이다. 그래서 효율성 검사 같이 시간제한이 있는 문제에서는 일반적으로 list와 pop 조합 대신에 deque를 사용한다. from collections import deque 사실 deque 사용법은 엄청 간단하다. list와 큰 차이가 없다! from collections import deque q..