J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ(Stack)๊ณผ ํ(Queue) - ํŒŒ์ด์ฌ(Python)
Algorithm/๐Ÿ“š Concept

[์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ(Stack)๊ณผ ํ(Queue) - ํŒŒ์ด์ฌ(Python)

728x90

์Šคํƒ(Stack)

  • ๋‚˜์ค‘์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ๋นผ๋Š” ํ›„์ž…์„ ์ถœ(LIFO - Last In First Out) ๊ตฌ์กฐ
  • ex) ๋ฐ•์Šค ์Œ“๊ธฐ, ํŠธ๋Ÿญ์— ๋ฌผ๊ฑด ๋„ฃ๊ธฐ
  • ํŒŒ์ด์ฌ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ์—์„œ append()์™€ pop() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„

์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ

stack = []

stack.append(1) # stack: [1]
stack.append(2) # stack: [1, 2]
stack.append(3) # stack: [1, 2, 3]
stack.append(4) # stack: [1, 2, 3, 4]

stack.pop() # stack: [1, 2, 3]
stack.pop() # stack: [1, 2]
stack.append(3) # stack: [1, 2, 3]
stack.pop() # stack: [1, 2]

 

 

 

ํ(Queue)

  • ๋จผ์ € ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ๋นผ๋Š” ์„ ์ž…์„ ์ถœ(FIFO - First In First Out) ๊ตฌ์กฐ
  •  ex) ์ž…์žฅ ๋Œ€๊ธฐ์ค„
  • ํŒŒ์ด์ฌ collections ๋ชจ๋“ˆ์—์„œ ์ œ๊ณตํ•˜๋Š” deque ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„

โ€ป deque๋Š” ์Šคํƒ๊ณผ ํ์˜ ์žฅ์ ์„ ๋ชจ๋‘ ์ฑ„ํƒํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ๋นผ๋Š” ์†๋„๊ฐ€ ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜•์— ๋น„ํ•ด ํšจ์œจ์ ์ด๋ฉฐ queue ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๋‹ค.

ํ ์ž๋ฃŒ๊ตฌ์กฐ

from collections import deque

queue = deque()

queue.append(1) # queue: [1]
queue.append(2) # queue: [1, 2]
queue.append(3) # queue: [1, 2, 3]
queue.append(4) # queue: [1, 2, 3, 4]

queue.popleft() # queue: [2, 3, 4]
queue.popleft() # queue: [3, 4]
queue.append(5) # queue: [3, 4, 5]
queue.popleft() # queue: [4, 5]
728x90

'Algorithm > ๐Ÿ“š Concept' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฃŒ๊ตฌ์กฐ] ๋‹จ์ˆœ/์›ํ˜•/์ด์ค‘ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(Linked List) ๊ตฌํ˜„ - ํŒŒ์ด์ฌ(Python)  (0) 2023.03.07
[์ž๋ฃŒ๊ตฌ์กฐ] ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue/Heapq) ๊ตฌํ˜„ - ํŒŒ์ด์ฌ(Python)  (0) 2021.08.29
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ •๋ ฌ(sort/sorted) - ํŒŒ์ด์ฌ(Python)  (0) 2021.08.29
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฒ”์œ„๋ฅผ ๋ฐ˜์”ฉ ์ขํ˜€๊ฐ€๋Š” ์ด์ง„ ํƒ์ƒ‰ - ํŒŒ์ด์ฌ(Python)  (0) 2021.07.31
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์„ ์œ„ํ•œ DFS์™€ BFS - ํŒŒ์ด์ฌ(Python)  (2) 2021.07.12
    'Algorithm/๐Ÿ“š Concept' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [์ž๋ฃŒ๊ตฌ์กฐ] ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue/Heapq) ๊ตฌํ˜„ - ํŒŒ์ด์ฌ(Python)
    • [์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ •๋ ฌ(sort/sorted) - ํŒŒ์ด์ฌ(Python)
    • [์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฒ”์œ„๋ฅผ ๋ฐ˜์”ฉ ์ขํ˜€๊ฐ€๋Š” ์ด์ง„ ํƒ์ƒ‰ - ํŒŒ์ด์ฌ(Python)
    • [์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์„ ์œ„ํ•œ DFS์™€ BFS - ํŒŒ์ด์ฌ(Python)
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”