728x90
1. 문제
https://www.acmicpc.net/problem/10828
2. 접근
스택이란 ?
한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 자료구조
- push : 스택에 넣는 것
- pop : 스택에서 빼는 것
- size : 스택의 크기를 구하는 것
- empty : 스택이 비었는지 확인
- top : 스택의 가장 윗 데이터 반환
stack이 정의되어 있을 때,
- stack.append() : 리스트의 맨 끝에 원소 추가
- stack.pop(x) : x번째 원소 삭제
3. 정답
# 리스트로 구현
import sys
n = int(sys.stin.readline())
stack = []
for _ in range(n) :
word = sys.stdin.readline().split()
if word[0] == "push":
stack.append(word[1])
elif word[0] == "pop":
if len(stack):
print(stack.pop())
else : print(-1)
elif word[0] == "size":
if len(stack):
print(len(stack))
elif word[0] == "empty" :
if len(stack):
print(0)
else: print(1)
elif word[0] == "top":
if len(stack):
print(stack[-1])
else: print(-1)
728x90
'PS > BOJ' 카테고리의 다른 글
[C] 백준 1149 : RGB 거리 (0) | 2022.09.14 |
---|---|
[C] 백준 1929 : 소수 구하기 (0) | 2022.08.29 |
[Python] 백준 10809 : 알파벳 찾기 (0) | 2022.07.14 |
[Python] 백준 1912 : 연속합 (0) | 2022.06.20 |
[Python] 백준 14425 : 문자열 집합 (0) | 2022.06.07 |