728x90
반응형
리스트를 이용하여 스택을 구현하는 알고리즘인데 input()함수를 사용할경우 시간초과로 틀리는 상황이 발생한다.
그러므로 system에 stdin을 통해 input을 받아주면 시간초과문제는 해결된다.
import sys
if __name__ == "__main__":
N = int(sys.stdin.readline().rstrip())
array = []
for i in range(N):
result = sys.stdin.readline().rstrip().split(' ')
if(result[0]=='push'):
array.append(result[1])
elif(result[0]=='pop'):
if(len(array)==0):
print(-1)
else:
print(array.pop())
elif(result[0]=='size'):
print(len(array))
elif(result[0]=='empty'):
if(len(array)==0):
print(1)
else:
print(0)
elif(result[0]=='top'):
if(len(array)==0):
print(-1)
else:
print(array[len(array)-1])
728x90
반응형
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
[백준 알고리즘] 7576번 토마토 with JAVA (메모리 초과) (0) | 2022.01.27 |
---|---|
[백준 알고리즘] 10872번 팩토리얼 Using nodejs (0) | 2021.03.28 |
[백준 알고리즘 3009]네 번째 점 python으로 구현. (0) | 2020.11.16 |
댓글