자료구조

    [프로그래머스][python] 최대 용량이 정해진 FIFO 큐 클래스

    class MyStack(object): def __init__(self): self.lst = list() def push(self, x): self.lst.append(x) def pop(self): return self.lst.pop() def size(self): return len(self.lst) class MyQueue(object): def __init__(self, max_size): self.stack1 = MyStack() self.stack2 = MyStack() self.max_size = max_size def qsize(self): return self.stack1.size() def push(self, item): if self.qsize()>=self.max_size: re..

    [python] queue사용법( Queue module의 Queue class)

    Queue module의 Queue class¶ deque보다는 느림 multi-consumer queue를 제공 In [1]: from queue import Queue queue init¶ In [2]: queue1=Queue() queue1 Out[2]: put()¶ In [4]: myqueue=Queue() myqueue.put(1) myqueue.put(2) myqueue.put(3) #한번에 원소를 다 넣을 수는 없음 get()¶ In [7]: myqueue=Queue() myqueue.put(1) myqueue.put(2) myqueue.put(3) front=myqueue.get_nowait() #선입선출 print(front) myqueue.queue 1 Out[7]: deque([2, ..

    [python] queue 사용법 (collection 모듈 deque)

    python에서 queue 사용법¶ (collections module) deque(덱) 사용¶ deque 초기화¶ deque([iterable[,maxlen]) In [1]: #collections module에서 deque import from collections import deque In [ ]: deque1=deque() deque2=deque([1,2,3]) #list ->queue로 만들기 deque3=deque(maxlen=5) #길이를 정해주면 만약 이 길이를 넘어갈 경우, 앞에 넣은 값 pop되고 뒤에 새 값이 들어감 append¶ In [6]: mydeque=deque() mydeque.append(5) mydeque Out[6]: deque([5]) popleft¶ In [7]: ..

    1. 선형배열

    선형 배열 (linear array) 배열 (array) : 같은 종류의 데이터(원소)들을 순서대로 늘어 놓은 것 파이썬에는 따로 array가 존재하지 않는다 리스트 (list) : 파이썬에서 array를 대체하는 융통성 있는 내장 자료구조 서로 다른 데이터 타입의 원소들을 한 리스트 안에 담을 수 있다 ex) L=['Bob', 1, 3.14] 리스트 속 원소들의 길이가 달라도 상관 없다 ex) L=['Bob, Cat','Spam','Programmers'] 리스트 연산 append(원소 끝에 붙이기) L=['monkey','cat','dog','elephant'] L.append('gorilla') print(L) >>>['monkey','cat','dog','elephant','gorilla'] O(..