λ¨Όμ λ€μ΄κ° λ°μ΄ν°κ° λ¨Όμ λμ€λ 'ν(Queue)'
ν(Queue)λ μΌμ μνμμ μ€μ μλ κ²κ³Ό μ μ¬ν λ°©μμΌλ‘ λμνλ©°, λ¨Όμ λ€μ΄κ° λ°μ΄ν°κ° λ¨Όμ λμ€λ 'μ μ μ μΆ'(First In First Out, FIFO) ꡬ쑰λ₯Ό κ°μ§κ³ μμ΅λλ€.
νλ νλ¦°ν°μ μμ λκΈ°μ΄, νμ€ν¬ μ€μΌμ₯΄λ§ λ± λ€μν μν©μ νμ©λ©λλ€.
νμ μ£Όμ μ°μ°
ν(Queue)λ μ μ μ μΆ(FIFO, First In First Out) μ리μ κΈ°λ°ν μλ£ κ΅¬μ‘°λ‘, μ£Όμ μ°μ°μ λ€μκ³Ό κ°μ΅λλ€:
-
Enqueue
: νμ μμλ₯Ό μΆκ°νλ μ°μ°μ λλ€. μ΄ μ°μ°μ νμ λ€μͺ½(tail)μ μ μμλ₯Ό μ½μ ν©λλ€. νμ μμκ° μΆκ°λ λ, μ΄ μμλ νμ λ§μ§λ§ μμΉμ λ€μ΄κ°λλ€. -
Dequeue
: νμμ μμλ₯Ό μ κ±°νλ μ°μ°μ λλ€. μ΄ μ°μ°μ νμ μμͺ½(head)μμ μμλ₯Ό μ κ±°νκ³ , μ κ±°λ μμλ₯Ό λ°νν©λλ€. νμμ μμλ₯Ό μ κ±°νλ©΄, κ·Έ λ€μ μμκ° νμ μλ‘μ΄ μμͺ½μ΄ λ©λλ€. -
Peek λλ Front
: νμ μμͺ½μ μλ μμλ₯Ό μ‘°ννλ μ°μ°μ λλ€. μ΄ μ°μ°μ νμ 맨 μμ μλ μμλ₯Ό λ°ννμ§λ§, ν΄λΉ μμλ₯Ό νμμ μ κ±°νμ§λ μμ΅λλ€. -
IsEmpty
: νκ° λΉμ΄ μλμ§ νμΈνλ μ°μ°μ λλ€. νμ μμκ° μμΌλ©΄ Trueλ₯Ό, κ·Έλ μ§ μμΌλ©΄ Falseλ₯Ό λ°νν©λλ€.
ν ꡬν μμ
νμ΄μ¬μμλ 리μ€νΈ(list)λ‘ κ°λ¨ν νλ₯Ό ꡬνν μ μμΌλ©°, ν¨μ¨μ μΈ ν ꡬνμ μν΄ collections
λͺ¨λ(μ°κ΄λ μΈλΆ μ½λμ λͺ¨μ)μ deque
ν΄λμ€λ₯Ό μ¬μ©ν μ μμ΅λλ€.
deque
λ μμͺ½ λμμ λ°μ΄ν°λ₯Ό μΆκ°νκ±°λ μ κ±°ν μ μλ μλ£κ΅¬μ‘°μ
λλ€.
from collections import deque # ν μμ± queue = deque() # Enqueue μ°μ° queue.append('A') # A μΆκ° queue.append('B') # B μΆκ° # Dequeue μ°μ° print(queue.popleft()) # 'A' μΆλ ₯ λ° μ κ±° print(queue.popleft()) # 'B' μΆλ ₯ λ° μ κ±°
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result