[알고리즘] 큐, 덱 - 백준 10866번 덱

정답 코드

import sys
from collections import deque
input = sys.stdin.readline

N = int(input())
arr = deque()

for _ in range(N):
    val = input().split()
    if val[0] == 'push_front':
        arr.appendleft(val[1])
    elif val[0] == 'push_back':
        arr.append(val[1])
    elif val[0] == 'pop_front':
        if arr: print(arr.popleft())
        else:   print(-1)
    elif val[0] == 'pop_back':
        if arr: print(arr.pop())
        else:   print(-1)
    elif val[0] == 'size':
        print(len(arr))
    elif val[0] == 'empty':
        if not arr: print(1)
        else:   print(0)
    elif val[0] == 'front':
        if arr: print(arr[0])
        else:   print(-1)
    elif val[0] == 'back':
        if arr: print(arr[-1])
        else:   print(-1)

덱, 데크 (Deque)

양쪽에서 모두 삽입/인출이 가능한 스택과 큐의 특징을 모두 갖고 있는 자료구조

( 출처 : 큐(자료구조) 나무위키 )

좋은 웹페이지 즐겨찾기