[python] 백준 10866 덱

전.py / / 2022. 1. 24. 15:29
728x90

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

 

10866번: 덱

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

from collections import deque
import sys

deq = deque()
n = int(input())
result = []

for i in range(n):
    s = input()
    if s[0] == "p":
        if s[:5] == "pop_f":
            if len(deq) > 0:
                result.append(deq.popleft())
            else:
                result.append(-1)
        elif s[:5] == "pop_b":
            if len(deq) > 0:
                result.append(deq.pop())
            else:
                result.append(-1)
        elif s[:6] == "push_f":
            deq.appendleft(s[11:])
        else:
            deq.append(s[10:])
    elif s[0] == "s":
        result.append(len(deq))
    elif s[0] == "e":
        if len(deq) == 0:
            result.append(1)
        else:
            result.append(0)
    elif s[0] == "f":
        if len(deq) > 0:
            result.append(deq[0])
        else:
            result.append(-1)
    else:
        if len(deq) > 0:
            result.append(deq[-1])
        else:
            result.append(-1)
for i in result:
    print(i)

 

반응형

'전.py' 카테고리의 다른 글

[python] 백준 10828 스택  (0) 2022.01.24
[python] 백준 10845 큐  (0) 2022.01.24
[python] 백준 11866 요세푸스 문제 0  (0) 2022.01.24
[python] 백준 2751 수 정렬하기 2  (0) 2022.01.24
[python] 백준 11650 좌표 정렬하기  (0) 2022.01.24
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기