[Python] μλ£κ΅¬μ‘° - μ€ν, ν
π‘ μλ£κ΅¬μ‘°λ? λ°μ΄ν°λ₯Ό νννκ³ μ²λ¦¬νκΈ° μν ꡬ쑰.
κ·Έ μ€ μ€νκ³Ό νλ μλ£κ΅¬μ‘°μ κ°λ μΌλ‘ λ€μμ λ ν΅μ¬μ μΈ ν¨μλ‘ κ΅¬μ±λλ€.
β μ½μ (Push) : λ°μ΄ν°λ₯Ό μ½μ νλ€.
β μμ (Pop) : λ°μ΄ν°λ₯Ό μμ νλ€.
βοΈ μ€ν Stack
βοΈ μ μ νμΆ (First In Last Out)
βοΈ λ°μ€ μκΈ° β‘οΈ μλμ μλ λ°μ€λ₯Ό μΉμ°κΈ° μν΄μ μμ μλ λ°μ€λ₯Ό λ¨Όμ λ΄λ €μΌ νλ€.
μ΄κΈ°λ¨κ³
μ½μ (5)
5 |
μ½μ (2)
5 | 2 |
μ½μ (3)
5 | 2 | 3 |
μμ
5 | 2 |
μ½μ (7)
5 | 2 | 7 |
μμ
5 | 2 |
νμ΄μ¬ μ½λ
stack = []
stack.append(5)
stack.append(2)
stack.append(3)
stack.pop()
stack.append(7)
stack.pop()
print(stack) # [5, 2]
print(stack[::-1]) # [2, 5]
λ³λμ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν νμ μλ€. append()μ pop() λ©μλλ₯Ό μ¬μ©.
βοΈ ν Queue
βοΈ μ μ μ μΆ First In Fist Out
βοΈ λκΈ°μ€ β‘οΈ λ¨Όμ μ¨ μ¬λμ΄ λ¨Όμ λ€μ΄κ°λ€
μ΄κΈ°λ¨κ³
μ½μ (5)
5 |
μ½μ (2)
5 | 2 |
μ½μ (3)
5 | 2 | 3 |
μμ
2 | 3 |
μ½μ (7)
2 | 3 | 7 |
μμ
3 | 7 |
νμ΄μ¬ μ½λ
from collections import deque
queue = deque()
queue.append(5)
queue.append(2)
queue.append(3)
queue.popleft()
queue.append(7)
queue.popleft()
print(queue) # deque([3, 7])
queue.reverse()
print(queue) # deque([3, 7])
list(queue) # [3, 7]
collections λͺ¨λμμ μ 곡νλ deque μλ£κ΅¬μ‘° νμ©.
dequeλ λ°μ΄ν°λ₯Ό λ£κ³ λΉΌλ μλκ° λ¦¬μ€νΈ μλ£νμ λΉν΄ ν¨μ¨μ μ΄λ©° queue λΌμ΄λΈλ¬λ¦¬λ³΄λ€ κ°λ¨νλ€.