GitHub

https://github.com/Choidongjun0830

파이썬 알고리즘 문제 풀이

BaekJoon Online Judge 10828번 파이썬

gogi masidda 2022. 5. 11. 17:27

문제 링크
https://www.acmicpc.net/problem/10828

10828번: 스택

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net


5개 기능의 함수를 만들어서 문제를 해결했다.


정답 코드

import sys

def push(x):
  stack.append(x)
  
def top():
  if len(stack) == 0:
    print(-1)
  else:
    print(stack[len(stack)-1])

def pop():
  if len(stack) == 0:
    print(-1)
  else:
    print(stack[len(stack)-1])
    stack.pop()
    
def size():
  print(len(stack))

def empty():
  if len(stack) == 0:
    print(1)
  else:
    print(0)

N = int(sys.stdin.readline())
stack = []

for i in range(N):
  order = list(sys.stdin.readline().split())
  if order[0] == "push":
    push(order[1])
  elif order[0] == "pop":
    pop()
  elif order[0] == "size":
    size()
  elif order[0] == "empty":
    empty()
  elif order[0] == "top":
    top()

728x90