import sys
input=sys.stdin.readline
stack = []
for i in range(int(input())):
read = input().split()
if(read[0] == "push"):
stack.append(read[1])
elif(read[0] == "pop"):
if(len(stack) == 0): print(-1)
else:
pop = stack.pop()
print(pop)
elif(read[0] == "top"):
if(len(stack) == 0): print(-1)
else: print(stack[-1])
elif(read[0] == "size"):
print(len(stack))
elif(read[0] == "empty"):
if(len(stack) == 0): print(1)
else: print(0)
위와 같은 문제이고 정확히 문제를 풀어도 시간 초과 에러가 발생하는 경우가 있는데 이러한 상황에선
input 을 성능은 같지만 속도가 더 빠른 sys.stdin.readlin 으로 변경하면 해결되지만
input이 더 많이 필요한 상황에서 전부 위 명령으로 교체하기 힘들테니
import sys
input=sys.stdin.readline
맨 위에 이 두줄만 추가해주면 시간 초과 문제를 해결할 수 있다.
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 1012번 - 유기농 배추 (파이썬 Recursion Error 해결) (1) | 2023.01.15 |
---|---|
[백준] 1181번 - 단어 정렬 (3) | 2022.10.01 |
[백준] 1920번 - 수 찾기 (파이썬) / 시간초과 해결 (1) | 2022.05.16 |
[백준] 1026번 - 보물 (파이썬) (1) | 2022.05.09 |
[백준] 17478번 - 재귀함수가 뭔가요? (파이썬) (1) | 2022.05.02 |