deque
๋ฐํฌ(deque)์ ๊ฐ๋
- ๋ณดํต์ ํ(queue)๋ ์ ์ ์ ์ถ(FIFO)๋ก ์๋
- deque๋ ์๋ฐฉํฅํ!
- ์, ๋ค ์์ชฝ ๋ฐฉํฅ์์ element๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐ ๊ฐ๋ฅ
- ๋ฐํฌ๋ ์ ๋ element์ append์ pop์ด ์๋์ ์ผ๋ก ๋น ๋ฆ
- ์ปจํ ์ด๋์ ์๋ element์ ์ ๊ทผํด ์ฝ์ ๋๋ ์ ๊ฑฐ๋ฅผ ํ ๊ฒฝ์ฐ, ์ผ๋ฐ์ ์ธ ๋ฆฌ์คํธ(list)๊ฐ ์ด๋ฌํ ์ฐ์ฐ์ O(n)์ด ์์๋๋๋ฐ ๋ฐํด, ๋ฐํฌ(deque)๋ O(1)๋ก ์ ๊ทผ ๊ฐ๋ฅ
๋ฐํฌ(deque) ์ฌ์ฉ๋ฒ
- deque๋ importํด์ ์ฌ์ฉํด์ผํ๋ค!
from collectinos import deque
deq = deque()
#item์ ๋ฐํฌ์ ์ผ์ชฝ ๋์ ์ฝ์
deq.appendleft(item)
#item์ ๋ฐํฌ์ ์ค๋ฅธ์ชฝ ๋์ ์ฝ์
deq.append(item)
#๋ฐํฌ์ ์ค๋ฅธ์ชฝ ๋ element๋ฅผ ๊ฐ์ ธ์ค๋ ๋์์ deque์์ ์ญ์
deq.pop()
#๋ฐํฌ์ ์ผ์ชฝ ๋ element๋ฅผ ๊ฐ์ ธ์ค๋ ๋์์ deque์์ ์ญ์
deq.popleft()
#์ฃผ์ด์ง array๋ฅผ ์ํํ๋ฉด์ deque์ ์ค๋ฅธ์ชฝ์ ์ถ๊ฐ
deq.extend(array)
#์ฃผ์ด์ง array๋ฅผ ์ํํ๋ฉด์ deque์ ์ผ์ชฝ์ ์ถ๊ฐ
deq.extendleft(array)
#item์ deque์์ ์ฐพ์ ์ญ์
deq.remove(item)
#deque๋ฅผ num๋งํผ ํ์ (์์์ด๋ฉด ์ค๋ฅธ์ชฝ, ์์์ด๋ฉด ์ผ์ชฝ)
deq.rotate(num)
์ฐธ๊ณ ๋งํฌ
'Problem Solving > ALGORITHM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ผํ ์คํ ๋ค์ค์ ์ฒด (์์ ๊ตฌํ๊ธฐ) (0) | 2022.06.01 |
---|---|
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (์ต๋๊ณต์ฝ์), ์ต์๊ณต๋ฐฐ์ (0) | 2022.06.01 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ(Greedy Algorithm) (0) | 2022.05.13 |
์์ด/๊ฐ์ง์น๊ธฐ (0) | 2022.03.15 |
๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ (์์ ํ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2022.03.11 |
๋๊ธ