BOJ 10845キュー


https://www.acmicpc.net/problem/10845
時間0.5秒、メモリ256 MB
input :
  • N (1 ≤ N ≤ 10,000)
  • コマンド(1<=整数<=10000)
  • output :
  • コマンドが発行されるたびに、1行に
  • が出力される.
    条件:
  • push X:整数Xをキューに入れる演算.
  • pop:キューの一番前の整数を除いて、その数値を出力します.キューに整数がない場合は、-1が出力されます.
  • size:出力キューの整数の個数.
  • NULL:キューがNULLの場合、1または0が出力されます.
  • front:出力キューの一番前の整数.キューに整数がない場合は、-1が出力されます.
  • back:出力キューの一番後ろの整数.キューに整数がない場合は、-1が出力されます.
  • すべての状況をチェックするだけです.空かどうかの確認用len()です.
    import sys
    
    n = int(sys.stdin.readline())
    queue = []
    
    for i in range(n):
        temp = sys.stdin.readline().strip()
    
        # push 연산.
        if " " in temp:
            temp = temp.split()
            # 숫자 문자열로 넣었음
            queue.append(temp[1])
    
        # pop 연산.
        if temp == 'pop':
            if len(queue) > 0:
                print(queue[0])
                del queue[0]
    
            else:
                print(-1)
    
        if temp == 'size':
            print(len(queue))
    
        if temp == 'empty':
            if len(queue) > 0:
                print(0)
            else:
                print(1)
    
        if temp == 'front':
            if len(queue) > 0:
                print(queue[0])
            else:
                print(-1)
    
        if temp == 'back':
            if len(queue) > 0:
                print(queue[-1])
            else:
                print(-1)