선릉역 1번 출구
baekjoon - 10828 본문
import sys def push(num): stack.append(num) def size(): return len(stack) def empty(): if (not stack): return 1 return 0 def pop(): if stack: return stack.pop() return -1 def top(): if stack: return stack[-1] return -1 stack = [] for _ in range(int(input())): a = sys.stdin.readline().rstrip().split() if a[0] == "push": push(a[1]) elif a[0] == "top": print(top()) elif a[0] == "size": print(size()) elif a[0] == "empty": print(empty()) else: print(pop()) |
이 문제는 스택을 구현하는 문제이다.
스택이란 FILO의 구조를 가지고 있는 자료구조이다. 첫 번째로 들어온 입력이 가장 나중 출력이 되는
스택에서 구현해야할 5가지 함수가 있는데 백준 10828번을 참고하면 될 것 같다. 또 문제가 크게 어렵지 않아서 설명을 안해도 될 것 같다.
*이 문제에서 중요한 건 시간 초과인데 input.split()이 아닌 import sys를 해서 sys.stdin.readline().rstrip().split()을 해줘야 시간초과가 발생하지 않는다.
'Algorithm > Algorithm 문제풀이' 카테고리의 다른 글
baekjoon - 9012 (0) | 2021.08.28 |
---|---|
baekjoon - 9093 (0) | 2021.08.28 |
baekjoon - 재귀 (0) | 2021.08.21 |
baekjoon - 브루트 포스 (0) | 2021.08.19 |
baekjoon - 기본 수학2 (0) | 2021.08.18 |
Comments