개발자 성장 기록/코테

[백준]10828번 스택 Python

으노방 2022. 9. 2. 22:57

내풀이
def push(data):
    stack_list.append(data)
    
def pop():
    if len(stack_list) == 0:
        return -1
    else:
        data = stack_list[-1]
        del stack_list[-1]
        return data

def size():
    data = len(stack_list)
    return data

def top():
    data = stack_list[-1]
    return data
    
def empty():
    if len(stack_list) == 0:
        return 1
    else:
        return 0
    
if __name__ == '__main__':
    n  = int(input())
    stack_list = list()
    result = list()

    for _ in range(n):
        txt = input()
        if 'push' in txt:
            t, n = txt.split()
            n = int(n)
            push(n)
        
        elif txt == 'pop':
            p = pop()
            result.append(p)
        
        elif txt == 'size':
            s = size()
            result.append(s)
        
        elif txt == 'top':
            if len(stack_list) == 0:
                result.append(-1)
            else:
                t = top()
                result.append(t)
        
        elif txt == 'empty':
            e = empty()
            result.append(e)
        
    for r in result:
        print(r)