반응형
https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �
www.acmicpc.net
# @Author YoungMinKim
# baekjoon
class stack:
def __init__(self):
self.tmp = []
def push(self,x):
self.tmp.append(x)
def pop(self):
if self.size() == 0:
return -1
else:
return self.tmp.pop(-1)
def size(self):
return len(self.tmp)
def empty(self):
if self.size() == 0:
return 1
else:
return 0
def top(self):
if self.size()==0:
return -1
else:
return self.tmp[-1]
import sys
s = stack()
N = int(sys.stdin.readline())
for _ in range(N):
x = list(sys.stdin.readline().split())
if x[0] == 'push':
s.push(int(x[1]))
elif x[0] == 'pop':
print(s.pop())
elif x[0]=='top':
print(s.top())
elif x[0] == 'size':
print(s.size())
else:
print(s.empty())
일부러 stack class를 이용하였고 다른 stack 문제를 풀 때 이용하기 쉽게 구현하였다.
반응형
'백준 문제풀이' 카테고리의 다른 글
baekjoon - python - 10950 (0) | 2020.09.05 |
---|---|
baekjoon - python - 10926 (0) | 2020.09.05 |
baekjoon - python - 1427 (0) | 2020.09.04 |
baekjoon - python - 10886 (0) | 2020.09.03 |
baekjoon - python - 10872 (0) | 2020.09.02 |
댓글