10845번: 큐

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

www.acmicpc.net

 

#!/bin/python3

def pop(q):
    if len(q):
        return q.pop(0)
    else:
        return -1

def size(q):
    return len(q)

def empty(q):
    if len(q):
        return 0
    else:
        return 1

def front(q):
    if len(q):
        return q[0]
    else:
        return -1

def back(q):
    if len(q):
        return q[len(q)-1]
    else:
        return -1
    
def push(q, op):
    q.append(op)

if __name__ == "__main__":
    queue = list()
    operation = list()
    count = int(input(""))
    
    while count > 0:
        operation.append(input("").split(" "))
        count -= 1
        
    for op in operation:
        if len(op) == 1:
            if op[0] == "pop":
                print(pop(queue))
            elif op[0] == "size":   
                print(size(queue))
            elif op[0] == "empty":
                print(empty(queue))
            elif op[0] == "front":
                print(front(queue))
            elif op[0] == "back":
                print(back(queue))
        else:
            push(queue, op[1])
    

'BaekJoon' 카테고리의 다른 글

[BaekJoon] - 10936 base64 디코딩  (0) 2019.10.12
[BaekJoon] - 10935 base64 인코딩  (0) 2019.10.12
[BaekJoon] - 10845 큐  (0) 2019.10.12
[BaekJoon] - 10828 스택  (0) 2019.10.12
[BaekJoon] 1158번 조세퍼스 문제  (0) 2019.10.10
[BaekJoon] - 1004번 어린왕자  (0) 2019.10.05