[백준] 10828번 - 스택 (파이썬)

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)

 

 

10828번

 

위와 같은 문제이고 정확히 문제를 풀어도 시간 초과 에러가 발생하는 경우가 있는데 이러한 상황에선

 

input 을 성능은 같지만 속도가 더 빠른 sys.stdin.readlin 으로 변경하면 해결되지만

 

input이 더 많이 필요한 상황에서 전부 위 명령으로 교체하기 힘들테니

 

import sys
input=sys.stdin.readline

맨 위에 이 두줄만 추가해주면 시간 초과 문제를 해결할 수 있다.