๐งฎ PS ์คํ, ํ, ๋ฑ (stack, queue, daque) - ์คํ(Stack) ์ ์ ํ์ถ์ ํน์ง์ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค. (ํํ ๋ฐ์ค์๊ธฐ์ ๋น์ ) ์ปดํจํฐ ๋ด๋ถ์์ ์ฌ๊ทํจ์์ ๊ตฌํ์ ์คํ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค. Python์์ ์คํ์ ์ฌ์ฉํ ๋๋ ํน๋ณํ ๊ตฌํ ํ์์์ด, <list>.append() ํจ์์ <list>.pop() ๋ง์ ์ฌ์ฉํ๋ฉด ๊ทธ๋๋ก ์คํ์ ๊ตฌํํ ์ ์๋ค. Python - stack stack = [] stack.append(3) stack.append(4) stack.pop() ํ(Queue) ์ ์ ์ ์ถ์ ํน์ง์ ๊ฐ์ก๋ค. (ํํ ์ค์๊ธฐ์ ๋น์ ) ์ฝ์ ๋๋ ๊ณณ์ front ์ ๊ฑฐ๋๋๊ณณ์ back ์ด๋ผ๊ณ ํ๋ค. BFS(๋๋น ์ฐ์ ํ์) ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. deque์ append ํจ์๋ง ์ถ๊ฐํ๊ณ , popleft()๋ก๋ง ์ญ์ ํ๋ฉด ํ์ด๋ค. ๋ฑ(Deque) ์คํ๊ณผ ํ์ ์ฅ์ ์ ๋ชจ๋ ๊ฐ๊ณ ์๋ค. ํ(Queue)๋ front๋ก๋ง ์ฝ์ ํ๊ณ back์์๋ง ์ญ์ ํ๋ค. ํ์ง๋ง ๋ฑ์ front๋ก ์ฝ์ /์ญ์ ๊ฐ ๊ฐ๋ฅํ๊ณ , back์์๋ ์ฝ์ /์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค. Python์์ ํ๋ฅผ ์ฌ์ฉํ ๋๋ collections์ deque๋ฅผ ์ฌ์ฉํ๋ฉด๋๋ค. Deque์ ํ์ชฝ ๋ฐฉํฅ์์๋ง ์ญ์ ํ๊ณ , ๋ฐ๋์ชฝ์์๋ง ์ฝ์ ํ๋ค๋ฉด ํ์ ๊ฐ๋ค. Python - Queue / deque from collections import deque queue = deque() queue.append(4) # ์ฝ์ queue.append(3) queue.popleft() # append ํ๋ฉด ์ค๋ฅธ์ชฝ์์ ์ฝ์ ํ๋ฏ๋ก, pop์ ์ผ์ชฝ์์ ํด์ค๋ค. queue.reverse() # ์์๋ฅผ ๋ค์ง๋ ๋ฉ์๋๋ ์๋ค. ๊ณต์ ํ๊ธฐ URL ๋ณต์ฌ์นด์นด์คํก ๊ณต์ ํ์ด์ค๋ถ ๊ณต์ ์์ค ๊ณต์ ๊ฒ์๊ธ ๊ด๋ฆฌ ๊ตฌ๋ ํ๊ธฐnewmon Contents ์คํ(Stack) ํ(Queue) ๋ฑ(Deque) ๋น์ ์ด ์ข์ํ ๋งํ ์ฝํ ์ธ ๋ฐฑ์ค (boj) ํ์ด์ฌ - 1260 : DFS์ BFS 2021.06.22 DFS (๊น์ด ์ฐ์ ํ์) , BFS (๋๋น ์ฐ์ ํ์) 2021.06.22 ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (Greedy Algorithm) , ํ์ 2021.06.13 [ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ์นดํซ 2021.06.12 ๋๊ธ 0 + ์ด์ ๋๊ธ ๋๋ณด๊ธฐ