Loading...
2022. 6. 29. 02:44

코딩테스트를 위한 스택과 큐 기본 이론

1. 탐색(search) 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 코딩테스트를 통과하기 위해 그래프, 트리 등의 자료구조 안에서 탐색을 할줄 알아야한다 이를 위한 대표적인 탐색 알고리즘이 바로 DFS/BFS 2. 자료구조 데이터를 표현하고 관리하고 처리하기 위한 구조 스택(stack)과 큐(queue)는 자료구조의 기초 개념 3. 스택과 큐에서 고려해야할 부분 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성 삽입(push): 데이터를 삽입한다 삭제(pop): 데이터를 삭제한다 실제 스택과 큐를 사용할 때는 삽입과 삭제 외에도 오버플로우와 언더플로우도 고민해야함 오버플로우(overflow): 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산..

2022. 1. 12. 22:56

코딩테스트에서 유용한 Counter와 deque

1. Counter 시퀀스 타입 데이터의 원소 개수를 dict형으로 반환해주는 아주 유용한 함수 from collections import Counter로 불러온다 집합 연산도 가능함 근데 큰 의미가 있을까? 리스트 내에서 개별 원소들의 빈도수를 세는 것에는 분명히 의미 있다 2. deque 스택과 큐를 동시에 구현한 자료형 from collections import deque로 불러온다 append, extend, pop 등을 모두 지원하는데 list가 $O(n)$이라면 deque는 $O(1)$이라는 점에서 유용하다 append로 오른쪽에 데이터를 넣어주고 appendleft로 왼쪽에 데이터를 넣어준다 extend로 오른쪽에 리스트 데이터를 넣어주고 extendleft로 왼쪽에 리스트 데이터를 넣어준다..