스택
-
[항해99]알고리즘_06sparta/알고리즘 2021. 6. 21. 09:00
[Python] 백준 18258 큐 2 문제분석 # 파이썬은 collections모듈의 deque(double-ended queue)을 통해 큐 자료구조 구현 # 보통 큐는 엘리먼트 삽입 · 삭제 방향이 한방향으로 정해져 있지만 덱은 양쪽에서 삽입 · 삭제 가능. # 양 끝 엘리먼트에 접근하여 삽입 · 삭제할 경우, 일반적인 리스트가 O(n)이 소요되는데 반해, 덱은 O(1) 소요. # 임포트(import) 해서 사용. 명령 deque로 구현 설명 deque() 초기화 함수로 iterable(리스트 등)을 인자로 받으면 이를 deque화 시킴 push X que.append(X) deque의 append 메소드 사용으로 덱의 오른쪽에 X추가 pop que.popleft() deque의 popleft() ..
-
[항해99]알고리즘_05sparta/알고리즘 2021. 6. 20. 18:06
[Python] 백준 1021 회전하는 큐 문제분석 # 파이썬은 collections모듈의 deque(double-ended queue)을 통해 큐 자료구조 구현 # 큐는 선입선출 방식이지만 덱은 양방향에서 삽입과 삭제 가능 # 그럼 그냥 리스트를 쓰면 되지? -> 리스트는 배열의 형태이기 때문에 index 의 앞 부분에서 삽입과 삭제가 일어나면 삭제된 곳을 채우기 위해 그 뒤 엘리먼트들이 앞으로 모두 움직이면서 시간복잡도가 O(n) 시간복잡도 참고 https://wiki.python.org/moin/TimeComplexity Deque 메소드 참고 https://docs.python.org/3/library/collections.html#collections.deque -> 덱은 데이터 추가 삭제 시 ..
-
[항해99]알고리즘_04sparta/알고리즘 2021. 6. 18. 21:09
[Python] 백준 10828 스택 문제분석 # 파이썬은 스택 자료구조를 따로 제공하지 않고, 기본 클래스인 리스트나 링크드리스트를 통해 구현한다. # 스택 (last In First Out) push(data) 스택의 가장 최상위(마지막)에 데이터 삽입 pop(): 스택의 가장 최상위(마지막)에 데이터 추출 후 스택에서 삭제 isEmpty 스택이 empty 상태인지 여부 반환 peek 스택의 가장 최상위(마지막)에 위치한 데이터 추출 pop 메서드와는 달리 스택에서 데이터를 삭제하지 않음 # push X: 정수 X를 스택에 넣는 연산이다. # pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력. # size: 스택에 들어있는 정수..