백준 10828 스택 하

강인호·2023년 4월 14일
0

코딩

목록 보기
11/13
post-custom-banner

배운점

word = sys.stdin.readline().split()

저렇게 하면 갯수 상관 없이 띄어쓰기로만 해서 값을 넣어주면
word에 리스트 형식으로 쌓인다

  • stack.pop 이란걸 썼는데
    스택에서 가장 위에 있는(리스트에서 제일 뒤에 있는) 정수를 빼고, 그 수를 출력해준다

  • stack[-1] 을 하니깐 리스트에서 제일 뒤에 있는 값을 주더라

링크

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

문제

정답

import sys
input = sys.stdin.readline

N = int(input())

stack = []
for _ in range(N):

    word = input().split()
    order = word[0]

    if order == "push":
        value = word[1]
        stack.append(value)

    elif order == "pop":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack.pop()) 

    elif order == "size":
        print(len(stack))

    elif order == "empty":
        if len(stack) == 0:
            print(1)
        else:
            print(0)

    elif order == "top":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack[-1])

풀이

  • 책보고 스택 함수에 대해서 특별히 써야 되는줄 알았는데
    그냥 다 if 문으로 다 만들어줬다
profile
개발자 되고싶다
post-custom-banner

0개의 댓글