네이버 부스트캠프 사전 첫 강의인 파이썬 자료구조 강의이다.
링크텍스트
코딩테스트를 준비하면서 써왔던 데이터 구조들을 가볍게 코드를 통해서 배울 수 있었다. OrderDict나, namedtuple은 처음 보는 자료구조였는데, 아주 특정한 케이스가 아니라면 바로 사용하기에는 유용해 보이지 않았다. 공부하면서 가장 효율적으로 쓰일 수 있는 데이터 구조는 deque였다. C에서 링크드 리스트를 공부했던 나는 reverse와 rotate를 쓸 수 있는게 얼마나 편한지 느꼈었다. 이것을 Python에서도 그대로 쓸 수 있다는 것에 놀랐고, 그리고 List보다 훨씬 속도가 빠르므로, 코테 볼때도 시간 초과가 난다면 List 대신에 deque를 쓰면 좋지 않을까? 라는 생각도 들었다.
파이썬 기본 데이터 구조
- 스택, 큐
- 튜플, 집합
- 사전
- Collection
스택
- LIFO
- Last In First Out
- Push & Pop
- List에서 append, pop으로 구현 가능
큐
튜플
- immutable, 값 변경 불가
- 휴먼 에러를 사전에 방지 가능
집합
사전
- Key-Value 자료구조
- Hash Table
vscode 익스텐션으로 Rainbow csv를 추천

Collections
- List, Tuple, Dict에 대한 파이썬 빌트인 확장 자료구조 모듈
- 편의성 제공
deque
- Stack와 Queue를 지원
- List에 비해 효율적인 자료구조 지원
- rotate, reverse등 연결리스트 특성 지원
OrderedDict
defaultdict
- Dict type의 값에 기본 값을 자동으로 지정
- 신규 값 생성시 사용하는 방법
Counter
- Sequence type의 데이터 요소들의 갯수를 dict로 변환
- 한번에 리스트 안의 요소 갯수를 반환
- Set 연산 지원
namedtuple
- Tuple형태로 Data 구조체를 저장하는 방법
- 저장되는 data variable을 사전에 지정해서 저장
- 좌표 저장