파이썬 3

[파이썬] heapq 모듈 < import heapq >

[Heapq 모듈] - heapq heap 같은 경우는 해당 리스트에서 가장 큰 값을 뺄 때 시간 복잡도 및 효율성을 고려한 모듈이라 할 수 있다. 데이터를 저장 후 정렬하는 것이 아니라, 데이터를 저장하면서 정렬하기 위해선 이 heapq 모듈을 사용해야 한다. 하지만 중요한 점은 heap은 이진트리를 기반으로 정렬된다는 것이다. 즉, heap으로 정렬된 리스트는 엄밀히 말하면 완전히 정렬 되진 않는다. 자식노드가 부모노드보다 크기만 하면 되는 조건을 가지고 있기에 sorted함수 와는 다르게 정렬이 된다. 그래서 heap같은 경우 최대값과 최솟값을 구할 때 주로 사용된다. (또한, heap은 root가 최솟값이 되도록 설정 된다.) 특히나 반복적으로 리스트에 값을 집어넣거나 빼면서 최대, 최솟값을 구할..

공부/파이썬 2021.08.30

[파이썬] Collections 모듈 < import collections >

[Collections 모듈] - deque deque(데크)는 double-ended queue의 줄임말로 양방향에서 데이터를 처리할 수 있는 queue형 자료구조를 의미한다. 그렇다면 deque는 도대체 왜? 언제? 쓰는 것일까? deque는 스택이나 큐를 사용할 때 이용하면 일반적인 리스트보다 빠른 연산 속도를 제공한다. 즉, 시작점의 값을 넣고 빼거나, 끝 점의 값을 넣고 빼는 데 최적화된 연산 속도를 제공한다는 뜻이다. 리스트에서 push나 pop을 자주 사용해야 하는 문제가 있다면 deque를 사용하는 것을 적극 추천한다. [deque의 method들] 더보기 append(x) 데크의 오른쪽에 x를 추가 appendleft(x) 데크의 왼쪽에 x를 추가 extend(iterable) itera..

공부/파이썬 2021.08.26

코테 준비 시작

아무래도 취업 준비를 시작해야 하다 보니 이제 코딩 테스트를 슬슬 준비해야 될 때가 된 것 같다. 아무래도 머신러닝, 인공지능 쪽을 하다 보니 파이썬에 익숙해서 파이썬으로 코테 준비를 시작했다. 먼저 기본적으로 7월 초부터 중순까지는 다시 기본부터 잡자라는 생각으로 기본부터 심화까지 파이썬 강의 및 자료들을 보면서 공부를 했다. 강의는 '코딩 도장:파이썬'을 추천한다. 어느정도 코딩을 아는 상태로 들으면 이해하기 쉽고 진도가 굉장히 빠르게 나갈 수 있지만, 아예 모르는 상태로 들으면 진도 나가는 데 있어서 시간이 좀 걸릴 수 있다. 그래도 초보자가 듣기에도 굉장히 쉽게 설명하고 또, 중간중간 퀴즈들도 있어서 개념 잡기에는 굉장히 좋은 강의라고 생각한다. 또, 공부하면서 참고한 자료는 '점프 투 파이썬'이..