스택을 구현하는 문제이다!
파이썬 list의 메서드들(append, pop, len, S[-1] 등)로 풀면, 시간 초과가 나온다ㅠ
import sys
input = sys.stdin.readline
N = int(input())
S = [0] * (10001)
idx = -1
for i in range(N):
command = input().strip()
if command == "pop":
if idx == -1:
print(-1)
else:
print(S[idx])
idx -= 1
elif command == "size":
print(idx + 1)
elif command == "empty":
if idx == -1:
print(1)
else:
print(0)
elif command == "top":
if idx == -1:
print(-1)
else:
print(S[idx])
else: # push
command, num = command.split()
idx += 1
S[idx] = num
728x90
'즐거운 PS 👩💻🥰' 카테고리의 다른 글
[백준-파이썬] 1182: 부분수열의 합 (0) | 2021.11.07 |
---|---|
[백준-파이썬] 17114:미세먼지 안녕! (0) | 2021.11.06 |
[백준-파이썬] 14719: 빗물 (0) | 2021.11.02 |
[백준-파이썬] 14940: 쉬운 최단거리 (0) | 2021.11.01 |
[백준-파이썬] 17404: RGB거리 2 (0) | 2021.10.29 |