μ€μ μλ λκΈ°μ΄, ν(Queue)
ν(Queue)
λ μ€μ μλ λκΈ°μ΄κ³Ό κ°μ μλ£κ΅¬μ‘°μ
λλ€.
λ¨Όμ μ€μ μ μ¬λμ΄ κ°μ₯ λ¨Όμ μλΉμ€λ₯Ό λ°λ κ²μ²λΌ, νμμλ λ¨Όμ λ€μ΄μ¨ λ°μ΄ν°κ° λ¨Όμ μ²λ¦¬λ©λλ€.
μ΄λ¬ν κ΅¬μ‘°λ‘ μΈν΄ νλ FIFO(First In, First Out)
, "λ¨Όμ λ€μ΄μ¨ κ²μ΄ λ¨Όμ λκ°λ€"λΌλ μμΉμ λ°λ₯΄λ μλ£κ΅¬μ‘°μ
λλ€.
νλ μ΄λ»κ² νμ©λλμ?
-
νλ¦°ν° μμ λκΈ°μ΄: νλ¦°ν°λ λ¨Όμ λ€μ΄μ¨ μΈμ μμ μ λ¨Όμ μ²λ¦¬ν©λλ€.
-
μ½μΌν° λκΈ°μ΄: κ³ κ°μ΄ μ νλ₯Ό κ±Έλ©΄ λκΈ°μ΄μ μΆκ°λκ³ , μλ΄μμ΄ μμ λ‘μμ§λ©΄ λ¨Όμ λκΈ° μ€μΈ κ³ κ°λΆν° μλ΄μ μμν©λλ€.
νμ μ£Όμ μ°μ°
νμμ μμ£Ό μ¬μ©νλ μ°μ°μ λ€μκ³Ό κ°μ΅λλ€.
-
enqueue: νμ λμ μλ‘μ΄ λ°μ΄ν°λ₯Ό
μΆκ°
νλ μ°μ°μ λλ€. -
dequeue: νμ μμμ λ°μ΄ν°λ₯Ό
μ κ±° λ° λ°ν
νλ μ°μ°μ λλ€. -
peek: νμ μμ μλ λ°μ΄ν°λ₯Ό μ κ±°νμ§ μκ³
νμΈ
νλ μ°μ°μ λλ€. -
is_empty: νκ°
λΉμ΄ μλμ§
λ₯Ό νμΈνλ μ°μ°μ λλ€.
νμ΄μ¬μμμ ν ꡬν
리μ€νΈμ append()
λ©μλλ₯Ό μ¬μ©ν΄ λ°μ΄ν°λ₯Ό μΆκ°νκ³ , pop(0)
λ©μλλ₯Ό μ¬μ©ν΄ λ°μ΄ν°λ₯Ό μ κ±°νλ©΄ νμ κΈ°λ³Έμ μΈ κΈ°λ₯μ ꡬνν μ μμ΅λλ€.
class Queue: # ν μ΄κΈ°ν def __init__(self): self.queue = [] # νμ λ°μ΄ν° μΆκ° def enqueue(self, item): self.queue.append(item) print(f"Enqueue: {item}κ° νμ μΆκ°λμμ΅λλ€.") # νμμ λ°μ΄ν° μ κ±° def dequeue(self): if not self.is_empty(): item = self.queue.pop(0) print(f"Dequeue: {item}κ° νμμ μ κ±°λμμ΅λλ€.") return item else: print("Dequeue: νκ° λΉμ΄ μμ΅λλ€.") return None # νμ κ°μ₯ μμ μλ λ°μ΄ν° νμΈ def peek(self): if not self.is_empty(): return self.queue[0] else: print("Peek: νκ° λΉμ΄ μμ΅λλ€.") return None # νκ° λΉμ΄ μλμ§ νμΈ def is_empty(self): return len(self.queue) == 0 # ν μ¬μ© μμ my_queue = Queue() my_queue.enqueue(1) # Enqueue: 1μ΄ νμ μΆκ° my_queue.enqueue(2) # Enqueue: 2κ° νμ μΆκ° print(f"Peek: νμ¬ νμ κ°μ₯ μμ μλ κ°μ {my_queue.peek()}μ λλ€.") my_queue.dequeue() # Dequeue: 1μ΄ νμμ μ κ±° my_queue.dequeue() # Dequeue: 2κ° νμμ μ κ±° my_queue.dequeue() # νκ° λΉμ΄ μμ΄ μ κ±°ν μ μμ
μ 리νλ©΄?
-
νλ
FIFO(First In, First Out)
ꡬ쑰λ₯Ό λ°λ₯΄λ μλ£κ΅¬μ‘°μ λλ€. -
μ£Όμ μ°μ°μΌλ‘λ enqueue(μΆκ°), dequeue(μ κ±°), peek(λ°μ΄ν° νμΈ), is_empty(λΉμ΄ μλμ§ νμΈ)μ΄ μμ΅λλ€.
νλ λ¨Όμ λ€μ΄μ¨ λ°μ΄ν°κ° λ¨Όμ μ²λ¦¬λλ μλ£κ΅¬μ‘°μ λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result