728x90
1. 스택(Stack; 쌓다)
- push : 입력
- peek : 가장 마지막으로 입력된 값 확인
- pop : 가장 마지막으로 입력된 값 꺼내오기
- Stack 함수 직접 구현하기
-
# Stack 함수 직접 구현하기 class Stack(list): push = list.append def peek(self): return self[-1] s = Stack s.push(1) s.push(2) s.push(3) print("my stack is: ", s) # my stack is: [1, 2, 3] print("popped value is: ", s.pop()) # popped value is: 3 print("my stack is: ", s) # my stack is: [1, 2] print("peeked value is: ", s.peek()) # peeked value is: 2 print("my stack is: ", s) # my stack is: [1, 2]
-
- List를 스택으로.
-
# list를 스택으로 활용 s = [] s.append(1) s.append(2) s.append(3) print("my stack is: ", s) # my stack is: [1, 2, 3] print("popped value is: ", s.pop()) # popped value is: 3 print("my stack is: ", s) # my stack is: [1, 2] print("peeked value is: ", s[-1]) # peeked value is: 2 print("my stack is: ", s) # my stack is: [1, 2]
-
2. 큐(Queue; 일이 처리되기를 기다리는 리스트)
- put : 입력
- peek : 가장 먼저 입력된 값 확인
- get : 가장 먼저 입력된 값 꺼내오기
- Queue 함수 직접 구현하기
-
class Queue(list): put = list.append def peek(self): return self[0] def get(self): return self.pop(0) q = Queue() q.put(1) q.put(2) q.put(3) print("my queue is: ", q) # my queue is: [1, 2, 3] print("removed value is: ", q.get()) # removed value is: 1 print("my queue is: ", q) # my queue is: [2, 3] print("peeked value is: ", q.peek()) # peeked value is: 2 print("my queue is: ", q) # my queue is: [2, 3]
-
- Queue 클래스 import
-
from queue import Queue q = Queue() q.put(1) q.put(2) q.put(3) print("my queue is: ", q) # my queue is: [1, 2, 3] print("removed value is: ", q.get()) # removed value is: 1 print("my queue is: ", q) # my queue is: [2, 3] print("peeked value is: ", q.peek()) # peeked value is: 2 print("my queue is: ", q) # my queue is: [2, 3]
-
- List를 큐로
-
# list를 큐로 활용 q = [] q.append(1) q.append(2) q.append(3) print("my queue is: ", q) # my queue is: [1, 2, 3] print("removed value is: ", q.pop(0)) # removed value is: 1 print("my queue is: ", q) # my queue is: [2, 3] print("peeked value is: ", q[0]) # peeked value is: 2 print("my queue is: ", q) # my queue is: [2, 3]
-
'알고리즘&자료구조' 카테고리의 다른 글
4주차 - 진법변환/비트연산 (0) | 2021.09.22 |
---|---|
3주차 - 너비우선탐색/깊이우선탐색 (0) | 2021.09.15 |
2주차 - 완전탐색/이분탐색 (0) | 2021.09.06 |
정렬 알고리즘(1) (0) | 2021.08.18 |