알고리즘/백준

[파이썬] BOJ_10845(큐)

딱따구르리 2022. 4. 22. 15:43
728x90
반응형

문제

 

https://www.acmicpc.net/problem/10845

 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net


 

해설

 

시간 제한이 0.5초인 만큼

input() 대신 sys.stdin.readline()을 써줘야 한다.

 

push 처리는 입력을 받을 때 split()을 통해 공백으로 나눠서 받고

x[0], x[1]로 값을 처리해주면 된다.


코드

 

-파이썬

#백준 10845(큐)
import sys

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

queue = []
for _ in range(n):
    x = sys.stdin.readline().split()
    if x[0] == 'push':
        queue.append(x[1])
    if x[0] == 'pop':
        if len(queue) == 0:
            print(-1)
        else:
            print(queue.pop(0))
    if x[0] == 'size':
        print(len(queue))
    if x[0] == 'empty':
        if len(queue) == 0:
            print(1)
        else:
            print(0)
    if x[0] == 'front':
        if len(queue) == 0:
            print(-1)
        else:
            print(queue[0])
    if x[0] == 'back':
        if len(queue) == 0:
            print(-1)
        else:
            print(queue[-1])
728x90
반응형