본문 바로가기
백준 문제풀이

baekjoon - python - 10886

by winston1214 2020. 9. 17.
반응형

www.acmicpc.net/problem/10866

 

10866번: 덱

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

www.acmicpc.net

from collections import deque
import sys
que = deque([])
N = int(sys.stdin.readline())
for _ in range(N):
    x = sys.stdin.readline()[:-1]
    if x.split()[0] == 'push_back':
        que.append(x.split()[1])
    elif x.split()[0] == 'push_front':
        que.reverse()
        que.append(x.split()[1])
        que.reverse()
    elif x == 'pop_front':
        if len(que) != 0:
            print(que.popleft())
        else: print(-1)
    elif x == 'pop_back':
        if len(que) != 0:
            print(que.pop())
        else:
            print(-1)
    elif x == 'size':
        print(len(que))
    elif x == 'empty':
        if len(que) == 0:
            print(1)
        else:
            print(0)
    elif x == 'front':
        if len(que) == 0:
            print(-1)
        else:
            print(que[0])
    elif x == 'back':
        if len(que) == 0:
            print(-1)
        else:
            print(que[-1])

 

반응형

'백준 문제풀이' 카테고리의 다른 글

baekjoon - python - 16394  (0) 2020.09.20
baekjoon - python - 16170  (0) 2020.09.20
baekjoon - python - 11653  (0) 2020.09.16
baekjoon - python - 1037  (0) 2020.09.16
baekjoon - python - 5086  (0) 2020.09.16

댓글