10828번: 스택

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

www.acmicpc.net

 

<내 코드>

 

import sys
n = int(sys.stdin.readline())
nums = []


def push(x):
    nums.append(x)


def pop():
    if(nums):
        return nums.pop()
    else:
        return -1


def size():
    return len(nums)


def empty():
    if(not nums):
        return 1
    else:
        return 0


def top():
    if(nums):
        return nums[-1]
    else:
        return -1


for i in range(n):
    inputOper = sys.stdin.readline().split()
    if (inputOper[0] == "push"):
        push(inputOper[1])
    elif(inputOper[0] == "pop"):
        print(pop())
    elif(inputOper[0] == "size"):
        print(size())
    elif(inputOper[0] == "empty"):
        print(empty())
    elif(inputOper[0] == "top"):
        print(top())
반응형

+ Recent posts