์•Œ๊ณ ๋ฆฌ์ฆ˜๐Ÿฅš/๊ฐœ๋…

[ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ฐœ๋…] 2. ๋ฐํฌ(Deque)

๐Ÿช„ํ•˜๋ฃจ๐Ÿช„ 2023. 5. 10. 19:45
728x90

๋ฐํฌ(Deque)

๋ฐํฌ๋Š” ์ด์ค‘ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„๋˜์–ด head, tail ๋‘ ๊ฐ€์ง€ ํฌ์ธํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์Šคํƒ๊ณผ ํ๋ฅผ ์ผ๋ฐ˜ํ™” ํ•œ ์ž๋ฃŒํ˜•์ด๋‹ค.

 

 

์—ฐ์‚ฐ

0) ์„ ์–ธ

collections.deque(iterable, maxlen)

  • iterable : iterable ๊ฐ์ฒด์˜ ๊ฐ’์„ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์‚ฝ์ž…ํ•˜์—ฌ ๋งŒ๋“  ๋ฐํฌ๋ฅผ ๋ฐ˜ํ™˜
  • maxlen : ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์—ฌ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•  ์ˆ˜๋„ ์žˆ์Œ

 

 

โ‘  ๊ฐ’(value) ์ถ”๊ฐ€

 

head ์•ž ๋ถ€๋ถ„(์™ผ์ชฝ) index์— ๊ฐ’ ์ถ”๊ฐ€(์‚ฌ์ด) tail ๋’ท ๋ถ€๋ถ„(์˜ค๋ฅธ์ชฝ)
appendleft(value) insert(index, value) append(value)

 

 

โ‘ก ์š”์†Œ ์ œ๊ฑฐํ•˜์—ฌ ๋ฐ˜ํ™˜ โžž ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด IndexError

 

head ๋ถ€๋ถ„(์ œ์ผ ์™ผ์ชฝ) tail ๋ถ€๋ถ„(์ œ์ผ ์˜ค๋ฅธ์ชฝ)
popleft() pop()

 

 

โ‘ข ๋ฐํฌ ํ™•์žฅ(maxlen ์ด ์ง€์ •๋  ๊ฒฝ์šฐ) + ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋™์‹œ์— ์‚ฝ์ž…ํ•  ๊ฒฝ์šฐ

 

head  ๋ถ€๋ถ„(์™ผ์ชฝ) tail ๋’ท ๋ถ€๋ถ„(์˜ค๋ฅธ์ชฝ)
extendleft(iterable) extend(iterable)

 

 

โ‘ฃ ํŠน์ •๊ฐ’ ๊ด€๋ จ ์—ฐ์‚ฐ

 

value ๊ฐ’์„ ๊ฐ€์ง„ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜
start, stop ์ง€์ • ๊ฐ€๋Šฅ

ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉดโžž ValueError
value ๊ฐ’์„ ๊ฐ€์ง„
๋ฐํฌ ์š”์†Œ์˜ ์ˆ˜
์ฒซ๋ฒˆ์งธ value ๊ฐ’ ์‚ญ์ œ
index(value[start[stop]]) count(value) remove(value)

 

 

โ‘ค ๊ธฐํƒ€ ์—ฐ์‚ฐ

 

์ดˆ๊ธฐํ™”
(๋ชจ๋“  ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๊ธธ์ด๋ฅผ 0์œผ๋กœ)
์ˆœ์„œ ๋’ค์ง‘๊ธฐ(head~tail) k ๋‹จ๊ณ„ ํšŒ์ „
์–‘์ˆ˜ : ์˜ค๋ฅธ์ชฝ | ์Œ์ˆ˜ : ์™ผ์ชฝ
clear() reverse() rotate(n=k) 
 
728x90