Algorithm/백준

[백준] 덱2(28279) - 파이썬

potato_pizza 2024. 6. 23. 17:43
728x90

덱2(28279)

https://www.acmicpc.net/problem/28279

 

문제

코드

  • queue를 활용한 풀이
  • queue.append, queue.appendleft, queue.pop, queue.popleft 에 대해서 잘 숙지하자
# 덱 2
# 28279

from collections import deque
import sys

input = sys.stdin.readline

N = int(input())
queue = deque()

for i in range(N):
    order = list(map(int, input().split()))
    if order[0] == 1:
        queue.appendleft(order[1])
    elif order[0] == 2:
        queue.append(order[1])
    elif order[0] == 3:
        if queue:
            print(queue[0])
            queue.popleft()
        else:
            print(-1)
    elif order[0] == 4:
        if queue:
            print(queue[-1])
            queue.pop()
        else:
            print(-1)
    elif order[0] == 5:
        print(len(queue))
    elif order[0] == 6:
        if queue:
            print(0)
        else:
            print(1)
    elif order[0] == 7:
        if queue:
            print(queue[0])
        else:
            print(-1)
    elif order[0] == 8:
        if queue:
            print(queue[-1])
        else:
            print(-1)
728x90
반응형