728x90
백준 10828
import sys
N = int(input()) # 명령의 수
ST = [] # 스택
for i in range(N):
S = list(input().split())
if S[0] == 'push':
ST.append(int(S[1]))
elif S[0] == 'pop':
try:
print(ST.pop())
except:
print(-1)
elif S[0] == 'size':
print(len(ST))
elif S[0] == 'empty':
if ST == []:
print(1)
else:
print(0)
elif S[0] == 'top':
try:
print(ST[-1])
except:
print(-1)
스택문제. 함수를 써야 하나 싶다가 for구문에 if 절을 쓰면 풀 수 있을 것 같았다.
근데 시간초과가 뜨길래 아래처럼 sys를 import 해줬더니 정답
# 10828
import sys
N = int(sys.stdin.readline()) # 명령의 수
ST = [] # 스택
for i in range(N):
S = sys.stdin.readline().split()
if S[0] == 'push':
ST.append(int(S[1]))
elif S[0] == 'pop':
try:
print(ST.pop())
except:
print(-1)
elif S[0] == 'size':
print(len(ST))
elif S[0] == 'empty':
if ST == []:
print(1)
else:
print(0)
elif S[0] == 'top':
try:
print(ST[-1])
except:
print(-1)
728x90