목차

    Algorithm(알고리즘)/백준

    21_백준 _10828번 파이썬 스택

    고로케 2021. 6. 20.

    목차

      반응형

      시간초과가 안나게 짜는게 핵심이라던데
      다른 기법 없이 함수 정의해서 작성했더니 정답이 됐다.
      시간초과 뜰땐 입력을 input이 아닌 .readline 으로 받고
      제출을 .pypy 로 제출해보도록 하자!

      • 풀이
      from sys import stdin
      
      
      # 정수 X를 스택에 넣는 연산이다.
      def push(x):
          stack.append(x)
      
      
      # 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다.
      # 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
      def pop():
          if (not stack):
              return -1
          else:
              return stack.pop()
      
      
      # 스택에 들어있는 정수의 개수를 출력한다.
      def size():
          return len(stack)
      
      
      # 스택이 비어있으면 1, 아니면 0을 출력한다.
      def empty():
          return 0 if stack else 1
      
      
      # 스택의 가장 위에 있는 정수를 출력한다.
      # 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
      def top():
          return stack[-1] if stack else -1
      
      
      N = int(stdin.readline().rstrip())
      stack = []
      
      for _ in range(N):
          input = stdin.readline().split()
      
          order = input[0]
      
          if order == "push":
              push(input[1])
          elif order == "pop":
              print(pop())
          elif order == "size":
              print(size())
          elif order == "empty":
              print(empty())
          elif order == "top":
              print(top())
      

      21_백준 _10828번 파이썬 스택

       

       

      반응형