[Python] 백준 28279

eun·2024년 1월 24일

문제 28279

위 문제를 먼저 이해해보자.

  • 첫째줄에는 명령의 수 n개가 주어진다.
  • 이후 n개의 줄에는 각각 명령어가 주어진다.
  • 명령은 총 여덟가지이며 출력할 결과가 있다면 해당 명령에 따른 값을 출력한다.
# 28279

import sys
from collections import deque

n = int(sys.stdin.readline().rstrip())
dec = deque()

def use_dec(q):
    if q[0] == '1':
        dec.appendleft(q[1])
    elif q[0] == '2':
        dec.append(q[1])
    elif q[0] == '3':
        if dec:
            print(dec.popleft())
        else:
            print(-1)
    elif q[0] == '4':
        if dec:
            print(dec.pop())
        else:
            print(-1)
    elif q[0] == '5':
        print(len(dec))
    elif q[0] == '6':
        if dec:
            print(0)
        else:
            print(1)
    elif q[0] == '7':
        if dec:
            print(dec[0])
        else:
            print(-1)
    elif q[0] == '8':
        if dec:
            print(dec[len(dec)-1])
        else:
            print(-1)



for _ in range(n):
    q = sys.stdin.readline().split()
    use_dec(q)

위 문제는 덱을 알면 쉽게 풀 수 있는 문제였다.
이 문제를 통해 덱의 원리와 popleft(), appendleft() 함수를 배울 수 있었다.

0개의 댓글