[伯俊]10845号:Q(Python)


質問する



私の答え

import sys
input=sys.stdin.readline

n=int(input())
que=[]

def push(p):
    que.append(p)
def pop():
    if len(que)!=0:
        print(que.pop(0)) #맨 앞 pop
    else:
        print(-1)

def size():
    print(len(que))

def empty():
    if len(que)==0:
        print(1)
    else:
        print(0)

def front():
    if len(que)!=0:
        print(que[0])
    else:
        print(-1)
    
def back():
    if len(que)!=0:
        print(que[-1])
    else:
        print(-1)
    
for i in range(n):
    command=input().split()
    if command[0]=='push':
        push(command[1])
    elif command[0]=='pop':
        pop()
    elif command[0]=='size':
        size()
    elif command[0]=='empty':
        empty()
    elif command[0]=='front':
        front()
    elif command[0]=='back':
        back()
体現自体はスタック問題に似ている.
ただLIFOのスタックとは違います.
クラブはFIFO構造を採用し、先入先出.
  • push関数は、関数パラメータとして追加された値を受け入れます.この値をキューに追加します.
  • pop関数は、キューが空でない限り、一番前の値をキューから削除します.
  • size関数は、キューの長さを求めることによって、キュー内の整数の個数を求める.
  • 空関数は、キューが空の場合に1を出力し、そうでない場合は0を出力します.
  • front関数は、キューが空でない限り、キューの最初の記憶値を出力します.(que[0])
  • キューが空でない場合、
  • back関数は、キューの最後の値に出力を格納します.(que[-1])
  • このように関数を定義した後、文を繰り返してn個のコマンドを入力すればよい.
    6.コマンド+数値フォーマットで、スペース区切りの入力を受け付けます.
    7.コマンドがpushである場合、push関数を呼び出し、入力した数値(command[1])をパラメータとして渡す.
    8.他のコマンドも同様に関数を呼び出せばよい.