문제 링크: https://www.acmicpc.net/problem/10828
백준 알고리즘 기초 1/2 200에서 1번째 - 10828번 스택을 풀어보았다.
풀이: 명령어를 받고 수행하는 코드를 짜면 된다.
파이썬은 리스트로 구현했다. 시간초과가 나서 input()대신 sys.stdin.readline().strip()을 사용했다.
C++
Python
import sys
stacks=[]
def pop():
if len(stacks)==0: print(-1)
else:
print(stacks[-1])
del stacks[-1]
def size():
print(len(stacks))
def empty():
if len(stacks)==0: print(1)
else: print(0)
def top():
if len(stacks)==0: print(-1)
else: print(stacks[-1])
def push(a):
stacks.append(a)
n=int(input())
for i in range(n):
inp=sys.stdin.readline().strip()
if inp=="pop": pop()
elif inp=="size": size()
elif inp=="empty": empty()
elif inp=="top": top()
else:
p,q=inp.split()
push(int(q))
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
괄호 풀이 (0) | 2023.01.10 |
---|---|
단어 뒤집기 풀이 (0) | 2023.01.10 |
조합 0의 개수 풀이 (0) | 2023.01.09 |
팩토리얼 0의 개수 풀이 (0) | 2023.01.09 |
패션왕 신해빈 풀이 (0) | 2023.01.09 |