[백준]18258번 큐 2 - 큐
SW개발/코딩테스트

[백준]18258번 큐 2 - 큐

 

import sys
from collections import deque
n = int(sys.stdin.readline())
queue = deque([])
for i in range(n):
    command = sys.stdin.readline().strip()
    if command.split()[0] == 'push':
        queue.append(command.split()[1])
    elif command == 'pop':
        if len(queue) > 0 :
            print(queue.popleft())
        else :
            print(-1)
    elif command == 'size':
        print(len(queue))
    elif command == 'empty':
        if len(queue) == 0 :
            print(1)
        else : 
            print(0)
    elif command == 'front':
        if len(queue) > 0 :
            print(queue[0])
        else :
            print(-1)
    elif command == 'back':
        if len(queue) > 0 :
            print(queue[-1])
        else : 
            print(-1)

 

코드 설명

입력 속도 개선을 위한 sys, 덱(큐) 사용을 위한 deque를 import 한다.

큐 사용을 위해 빈 큐(덱)을 하나 만든다. 그 후 반복문을 돌면서 명령어를 입력 받는다. 명령어의 첫번째가 push일 경우 인자 값이 있기 때문에 command.split()[0], [1] 을 활용하여 인자 값에 대한 처리를 해준다. 

각 명령어에 맞는 기능을 구현한다.

 

Point : 이전 스택 문제와 마찬가지로 인수가 있는 명령어에 주의하여 작성하여야 한다.

command.split()[0], [1] 과 같은 방법을 활용하였다.

728x90