[ 2023-06-29 ๐Ÿ‹ TIL ]

Burkeyยท2023๋…„ 6์›” 29์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
110/157

๋ฐฑ์ค€ 18258๋ฒˆ ํŒŒ์ด์ฌ


๋ฌธ์ œ


์ฝ”๋“œ

import sys 
from collections import deque
# from queue import Queue ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ๋„ ๋จ

input = sys.stdin.readline

n = int(input())
queue = deque([])

for _ in range(n):
  method = input().strip()
  if method[0:2] == 'pu':
    method, val = map(str, method.split())
    queue.append(int(val))
  else :
    if method == 'pop':
      if len(queue) > 0:
        print(queue.popleft())
      else:
        print(-1)
    elif method == 'size':
      print(len(queue))
    elif method == 'empty':
      if len(queue) > 0:
        print(0)
      else:
        print(1)
    elif method == 'front':
      if len(queue) > 0:
        print(queue[0])
      else:
        print(-1)
    elif method == 'back':
      if len(queue) > 0:
        print(queue[-1])
      else:
        print(-1)
list()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด pop(0)์œผ๋กœ ์ธํ•œ ์‹œ๊ฐ„์ดˆ๊ณผ[O(n)]๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๋กœ ์ธํ•˜์—ฌ 
๊ฐ„๋‹จํ•œ queue๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ collections์˜ deque๋‚˜ queue์˜ Queue๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 
profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€