Programming12 [Python] Deque (데크) 기본 사용법 Stack과 Queue의 기능을 모두 사용하는 Deque 자료형 속도가 빠르기 때문에 자주 활용된다. Deque (데크) 기본 정의 한쪽 끝에서만 자료의 삽입, 삭제가 가능한 queue와는 달리 양방향이 가능한 자료구조 O(1)의 접근 속도를 가짐 FIFO의 구조를 가진 큐를 확장시킨 개념이다. 즉, 앞과 뒤 모두에서 데이터의 삽입, 삭제가 가능하고 속도도 매우 빠르다. 선언 (init) from collections import deque 활용 deque()로 초기화 # Dequeue (Init) from collections import deque mydeque = deque() 비어 있는 자료구조를 선언할 수 있다. append : 데이터 삽입 데크에 데이터 삽입 deque.append(x) deq.. 2022. 11. 6. [Python] Queue(큐) 기본 사용법 역시나 코딩 테스트에서 필수적인 자료구조 중 하나인 Queue를 라이브러리를 활용해 사용해보자. 사용법은 어렵지 않다. 활용이 더 중요하다. Queue (큐) 기본 정의 한쪽 끝에서만 자료의 삽입, 삭제가 가능한 FIFO (First In First Out) 형식의 선형 자료구조 스택과는 달리 가장 먼저 삽입한 자료가 가장 먼저 반환되는 구조 push, pop, isempty, front, back 등의 연산을 가짐 스택과는 달리 데이터가 삽입되는 곳과 삭제되는 곳이 다른 자료구조 즉, 뒤에서만 삽입되고 앞에서는 삭제만 할 수 있는 구조로, 삽입된 순서대로 원소가 저장되어 있음 BFS, Streaming 등등의 알고리즘 문제에 유용하다. 선언 (init) queue 라이브러리 사용 queue.Queue(.. 2022. 11. 3. [Python] Dictionary (딕셔너리) 정리 딕셔너리 사용을 위한 기본 정리 Dictionary 선언 Hash 기반의 키(key)와 값(value)로 이루어진 자료형 {}로 선언 및 초기화 가변(mutable) 데이터 타입 key : 고유한 값, immutable 데이터만 가능 (리스트 X) value : 어떠한 타입의 데이터가 와도 됨 # Dictionry 선언 mydict1 = {} mydict2 = dict() mydict3 = {'k':1, 'r':2, 'a':1} 데이터 추가/업데이트 dict[key] = value # Dictionary Update mydict = {} mydict['k'] = 1 mydict['k'] = 2 데이터 삭제 del dict[key] # Dictionary Delete mydict = {'k':1} del .. 2022. 11. 2. [Python] Stack (스택) 기본 사용법 코딩 테스트를 볼 때 많이 사용하는 자료구조인 Stack 파이썬에서는 리스트를 사용해서 스택의 기본 연산을 구현한다. Stack (스택) 기본 정의 한쪽 끝에서만 자료의 삽입, 삭제가 가능한 LIFO (Last In First Out) 형식의 선형 자료구조 프링글스와 같이 가장 나중에 삽입한 자료가 가장 먼저 반환되는 구조 push, pop, top, isempty, isfull 등의 연산을 가짐 데이터가 입력된 순서로 기억공간에 저장되어 출력 시 가장 나중에 쌓인 데이터가 가장 먼저 출력하게 되는 자료구조 흔히 비유하는 것인데, 프링글스 통에서 제일 처음 넣은 과자가 가장 밑에 있는 것처럼 후입선출 구조를 따른다. 짝을 맞추어 제거하는 문제 (ex. 괄호 찾기, 쌍으로 제거) 또는 역순으로 파악하기 등.. 2022. 6. 20. [Python] Set (집합) : 중복 없는 자료형 중복되지 않는 자료형을 원할 때 사용하는 set 중복을 허용하지 않고, 순서가 없기 때문에 집합에 관한 것을 처리할 때 유용하다. set (집합 자료형) myset = set() 으로 선언 중복된 값을 허용하지 않으므로 순서가 없음 --> 인덱싱 불가능 myset1 = set([1, 2, 2, 3)] myset2 = set('hello') print(myset1)# {1, 2, 3} print(myset2)# {h, e, l, o} 중복된 값이 없으므로 원소의 종류 개수를 세거나 일부러 중복을 피하는 경우 유용하게 쓸 수 있다. 또한 정말 집합 그 자체이므로 순서가 없어 인덱싱이 필요할 땐 리스트 또는 튜플로의 변환이 필요하다. 집합 연산 1) 교집합 & / set.intersection(set) 으로 .. 2022. 5. 25. 이전 1 2 3 다음