Algorithm(알고리즘)/백준

31_백준 18258번 파이썬 큐2

고로케 2021. 6. 22.
반응형

큐 Queue 를 deque를 이용하여 함수들을 만들어
입력되는 명령들을 처리하도록 했다.

deque 명령어 : appendleft() , popleft()

deque 사용법 보러가기

 

[자료구조] 파이썬 큐(Queue), deque 사용법 총정리

큐(Queue) : 한쪽 끝으로 자료를 넣고, 반대쪽에서는 자료를 뺄 수 있는 선형구조. 이런 자료 구조를 First In First Out 이라고 해서 FIFO 라고 부른다. 선입선출 파이썬 큐(Queue), deque 사용법! 1. deque 만들

gorokke.tistory.com

 

  • 풀이
from sys import stdin
from collections import deque

def push(n):
    n = int(n)
    que.append(n)

def pop():
    if que:  # que에 요소가 있으면 출력
        n = que.popleft()
        print(n)
        return
    return print(-1)

def size():
    print(len(que))  # que 요소 개수 출력

def empty():
    if que:  # que가 비어있지 않으면 0 출력
        return print(0)
    return print(1)  # 비어있으면 1 출력

def front():
    if que:  # que에 요소가 있으면 첫번째 요소 출력
        return print(que[0])
    return print(-1)  # 요소가 없으면 -1 출력

def back():
    if que:  # que에 요소가 있으면 마지막 요소 출력
        return print(que[-1])
    return print(-1)  # 요소가 없으면 -1 출력

# N 명령의 수 , 명령 입력
N = int(stdin.readline())
que = deque()
for i in range(N):
    order = list(stdin.readline().split())

    if order[0] == 'push':
        push(order[1])
    elif order[0] == 'pop':
        pop()
    elif order[0] == 'size':
        size()
    elif order[0] == 'empty':
        empty()
    elif order[0] == 'front':
        front()
    elif order[0] == 'back':
        back()

 

 

반응형

댓글