스택, 큐 (2) - deque의 기능

2025. 1. 6. 18:25Algorithms/백준알고리즘 연습

파이선 collections 에서는 스택과 큐의 기능을 모두 합한 deque기능을 제공 (선입후출은 같음) 

from collections import deque

queue = deque()

 

이렇게 하면 queue를 만들 수 있고, 리스트 형태로 차례대로 수를 넣으면 됨

queue와 stack의 차이는 맨 아래에 있는 글자도 불러올 수 있음

 print(queue.popleft()) 를 하면 맨 아래(리스트에서는 맨 왼쪽)글자를 빼낼 수 있음

값도 입력 가능함

queue.appendleft() 를 하면 사용 가능 

 

예시 : 문자대로 설정 가능 

import sys
from collections import deque

n = int(sys.stdin.readline())
queue = deque()

for _ in range(n):
    command = sys.stdin.readline().split()
    
    if command[0] == 'push':
        queue.append(int(command[1]))
    elif command[0] == 'pop':
        if queue:
            print(queue.popleft())
        else:
            print(-1)
    elif command[0] == 'size':
        print(len(queue))
    elif command[0] == 'empty':
        print(1 if not queue else 0)
    elif command[0] == 'front':
        if queue:
            print(queue[0])
        else:
            print(-1)
    elif command[0] == 'back':
        if queue:
            print(queue[-1])
        else:
            print(-1)

 

 

'Algorithms > 백준알고리즘 연습' 카테고리의 다른 글

스택, 큐, 덱 (2)  (0) 2025.01.06
스택, 큐, 덱  (1) 2025.01.06
백준 알고리즘 약수, 소수와 배수 2 (2)  (1) 2024.12.22
약수, 배수와 소수 2  (2) 2024.12.14
백준 집합과 맵  (0) 2024.12.11