[백준 10866] 덱

Junyoung Park·2022년 2월 26일
0

코딩테스트

목록 보기
86/631
post-thumbnail

1. 문제 설명

2. 문제 분석

디큐 기능을 구현한다. 사실상 파이썬 모듈에서 deque를 지원하니, 매우 간단하게 구현할 수 있다. 시간 문제상 sys.stdin.readline().strip()을 활용하자.

3. 나의 풀이

from collections import deque
import sys

queue = deque()

n = int(input())

for _ in range(n):
    cmd = sys.stdin.readline().strip()
    if cmd == 'size': print(len(queue))
    elif cmd == 'empty':
        if queue: print(0)
        else: print(1)
    elif cmd == 'front':
        if queue: print(queue[0])
        else: print(-1)
    elif cmd == 'back':
        if queue: print(queue[-1])
        else: print(-1)
    elif cmd == 'pop_front':
        if queue: print(queue.popleft())
        else: print(-1)
    elif cmd == 'pop_back':
        if queue: print(queue.pop())
        else : print(-1)
    else:
        cmd, num = cmd.split()
        num = int(num)
        if cmd == 'push_front':
            queue.appendleft(num)
        else:
            queue.append(num)
profile
JUST DO IT

0개의 댓글