백준 덱 10866번

초코소금빵·2025년 1월 23일

백준 코딩

목록 보기
4/7

문제

백준 https://www.acmicpc.net/problem/10866

문제 이해

출처) https://learnersbucket.com/tutorials/data-structures/implement-deque-data-structure-in-javascript/
  • 덱 : 앞/뒤에서 추가/삭제가 되는 큐+스택 기능을 가짐.

파이썬 코드

import sys
from collections import deque
de = deque()
N = int(input())
for _ in range(N):
    order = list(map(str, sys.stdin.readline().split()))
    if order[0] == "push_front":
        de.appendleft(int(order[1]))
    elif order[0] == "push_back":
        de.append(int(order[1]))
    elif order[0] == "pop_front":
        if de:
            print(de.popleft())
        else:
            print(-1)
    elif order[0] == "pop_back":
        if de:
            print(de.pop())
        else:
            print(-1)
    elif order[0] == "size":
        print(len(de))
    elif order[0] == "empty":
        if de:
            print(0)
        else:
            print(1)
    elif order[0] == "front":
        if de:
            print(de[0])
        else:
            print(-1)
    else:
        if de:
            print(de[-1])
        else:
            print(-1)
profile
피할 수 없으면 즐기자

0개의 댓글