10828번 : 스택 - Python

Pobi·2023년 1월 22일
0

PS

목록 보기
22/107

문제

https://www.acmicpc.net/problem/10828

풀이

python의 list로 구현할 수 있다. len()을 이용하여 스택에 정수가 있는지 없는지 확인할 수 있다. 물론 파이썬은 list자체를 조건으로 사용할 수 있다. pop()을 이용해서 pop을 구현하고, list[-1]을 이용하여 top을 구현할 수 있다.

코드

from sys import stdin

input = stdin.readline

def push(array,n):
    array.append(n)

def pop(array):
    if len(array)==0: #조건을 not array로 변경 가능
        return -1
    else:
        return array.pop()

def size(array):
    return len(array)

def empty(array):
    if len(array)==0: #조건을 not array로 변경 가능
        return 1
    else:
        return 0

def top(array):
    if len(array)==0: #조건을 not array로 변경 가능
        return -1
    else:
        return array[-1]

n = int(input())

array = list()

for i in range(n):
    m = input()
    if 'push' in m:
        m, n = m.split()
        n = int(n)
        push(array,n)
    elif 'top' in m:
        print(top(array))
    elif 'size' in m:
        print(size(array))
    elif 'empty' in m:
        print(empty(array))
    elif 'pop' in m:
        print(pop(array))
profile
꿈 많은 개발자

0개의 댓글