자료구조 및 알고리즘/백준

[python] 10866. 덱

viamemine 2023. 1. 27. 16:31
728x90
반응형
  • 문제 



 

 

 

  • 올바른 풀이
import sys
N = int(input())

Deque = []
for i in range(N):
    command = sys.stdin.readline().split()

    if command[0] == 'push_back': # 뒤에 넣음
        Deque.append(command[1])

    elif command[0] == 'push_front': # 앞에 넣음
        Deque.insert(0, command[1])

    elif command[0] == 'front':
        if len(Deque) == 0:
            print('-1')
        else: print(Deque[0])

    elif command[0] == 'back':
        if len(Deque) == 0:
            print('-1')
        else:
            print(Deque[len(Deque)-1])

    elif command[0] == 'size':
        print(len(Deque))

    elif command[0] == 'empty':
        if len(Deque) == 0:
            print('1')
        else: print('0')

    elif command[0] == 'pop_front':
        if len(Deque) == 0:
            print('-1')
        else:
            print(Deque[0])
            del Deque[0]

    elif command[0] == 'pop_back':
        if len(Deque) == 0:
            print('-1')
        else:
            print(Deque[len(Deque)-1])
            del Deque[len(Deque)-1]

 

해당 문제도 이전 큐, 스택처럼 어려운 문제는 아니기 때문에 설명 없이 코드를 공유한다.

해당 문제는 큐와 스택의 자료구조의 로직을 합친 것으로 생각된다.

728x90

'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글

[python] 4949. 균형잡힌 세상  (0) 2023.01.30
[python] 2164. 카드2  (0) 2023.01.28
[python] 10845. 큐  (0) 2023.01.27
[python] 10828. 스택  (0) 2023.01.27
[python] 1018. 체스판 다시 칠하기  (0) 2023.01.27