티스토리 뷰

문제 링크

 

28278번: 스택 2

첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다.

www.acmicpc.net

문제 풀이

import sys
input = sys.stdin.readline

stack = []

n = int(input())
for _ in range(n):
    order = input()
    match int(order[0]):
        case 1:
            stack.append(order.split()[1])
        case 2:
            if len(stack) == 0:
                print(-1)
            else:
                print(stack.pop(-1))
        case 3:
            print(len(stack))
        case 4:
            if len(stack) == 0:
                print(1)
            else:
                print(0)
        case 5:
            if len(stack) == 0:
                print(-1)
            else:
                print(stack[-1])

28278 입출력 예시

*key point: 후입선출을 특징으로 가지는 스택 자료구조를 이해할 수 있는 기본 예제이다. 주어진 각 명령을 수행할 수 있도록 조건문을 만들어주면된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함