[伯俊10828]スタックPython
スタック フェーズ:Silver 4 時間制限:0.5秒(追加時間なし) メモリ制限:256 MB アルゴリズム分類:データ構造、スタック 質問する
整数を格納するスタックを実装し、入力としてのコマンドを処理するプログラムを作成します.
命令は全部で5種類ある.
1行目に与えられるコマンド数N(1≦N≦10000).2行目からN行目までそれぞれ1つのコマンドがあります.与えられた整数は1以上であり、100000以下である.問題にない命令はない.
しゅつりょく
出力するコマンドが発行されるたびに、各行に1つのコマンドが出力されます.
サンプルI/O
Algorithm
Code
時間:80ミリ秒
整数を格納するスタックを実装し、入力としてのコマンドを処理するプログラムを作成します.
命令は全部で5種類ある.
push X: 정수 X를 스택에 넣는 연산이다.
pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
size: 스택에 들어있는 정수의 개수를 출력한다.
empty: 스택이 비어있으면 1, 아니면 0을 출력한다.
top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
入力1行目に与えられるコマンド数N(1≦N≦10000).2行目からN行目までそれぞれ1つのコマンドがあります.与えられた整数は1以上であり、100000以下である.問題にない命令はない.
しゅつりょく
出力するコマンドが発行されるたびに、各行に1つのコマンドが出力されます.
サンプルI/O
Algorithm
Code
import sys
input = sys.stdin.readline
# 입력
N = int(input())
stack = []
for _ in range(N):
order = input()
if order[:4] == 'push':
_, num = order.split()
stack.append(int(num))
elif order[:-1] == 'pop':
if stack:
print(stack[-1])
stack.pop()
else:
print(-1)
elif order[:-1] == 'size':
print(len(stack))
elif order[:-1] == 'empty':
if stack:
print(0)
else:
print(1)
else:
if stack:
print(stack[-1])
else:
print(-1)
メモリ:30864 KB時間:80ミリ秒
Reference
この問題について([伯俊10828]スタックPython), 我々は、より多くの情報をここで見つけました https://velog.io/@jy5122/백준-10828-스택-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol