본문 바로가기
알고리즘/백준문제풀이

10828 스택 파이썬 풀이

by 푸딩코딩 2022. 9. 2.
728x90
반응형
import sys
n = int(sys.stdin.readline())
stack=[]


for i in range(n):
    com= sys.stdin.readline().split()
    if com[0] =="push":
        stack.append(com[1])
    elif com[0]=="pop":
        if(len(stack)==0):
            print(-1)
        else:
            print(stack.pop())
    elif com[0]=="size":
        print(len(stack))
    elif com[0]=='empty':
        if len(stack)==0:
            print(1)
        else:
            print(0)
    elif com[0]=='top':
        if(len(stack)==0):
            print(-1)
        else:
            print(stack[-1])

com=list(map( input().split(' ')))으로  입력을 받을 수 있지만 시간초과 에러가 났다 

찾아보니 input보다 sys.stdin.readline을 이용하는 것이 훨씬 시간적으로 절약이 된다고 한다 

 

그런데 주피터노트북에서는 sys.stdin.readline이 오류가 나더라고..

찾아보니 주피터노트북은 stdin이 인식이 되지 않는다고 한다. 

그래서 input을 써야함.. 

난 주피터노트북 사용 중인데 앞으로는 input으로 일단 작성하고

백준에 제출할 때만 바꿔서 내야겠다..

 

728x90
반응형