10866 : 덱

서희찬·2021년 9월 23일
0

백준

목록 보기
46/105

문제

코드

import sys 
from collections import deque
test = int(sys.stdin.readline())

queue = deque()

def empty():
    if len(queue)==0:
        return 1
    else :
        return 0 

for _ in range(test):
    wn = list(sys.stdin.readline().split())
    if wn[0] == 'push_front':
        queue.appendleft(wn[1])
    elif wn[0] =='push_back':
        queue.append(wn[1])
    elif wn[0] == 'pop_front':
        if(empty()):
            print("-1")
        else :
            print(queue.popleft())
    elif wn[0] == 'pop_back':
        if(empty()):
            print("-1")
        else :
            print(queue.pop())
    elif wn[0] == 'size':
        print(len(queue))
    elif wn[0] == 'empty':
        if(empty()):
            print("1")
        else :
            print("0")
    elif wn[0] == 'front':
        if(empty()):
            print("-1")
        else :
            print(queue[0])
    elif wn[0] == 'back':
        if(empty()):
            print("-1")
        else :
            print(queue[-1])

해설

덱에 대한 기본 문제이다.
다만 파이썬이 짱짱이라는것이다.. 이 모든게 라이브러리 내장함수로 해결 가능하다니 대박 ㅜㅜ
쨌든 ! 파이썬의 덱 내장함수들을 사용하는 법을 배울 수 있는 좋은 문제이다.
여기서 주의해야할점은 바로 입력받을 때 인데
이 입력을 리스트로 입력받음으로써 문제를 해결 할 수 있다 !

처음에는 문자와 숫자를 따로 입력받게 하였으나 그렇게 하면 문제에서 요구하는 입력형식이 나오지 않아 골치아팠는데 알아보니 리스트로 입력받아서 활용할수있는 테크닉이 있는것이다..! 대박 !!

이렇게 하나하나 배워가는 코린이닷...!

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글