10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
기본적인 스택을 구현하는 문제였다.
import sys
input = sys.stdin.readline
n = int(input())
stack = list()
for i in range(n):
operation = input().split()
if operation[0] == "push":
stack.append(operation[1])
elif operation[0] == "pop":
if len(stack) == 0:
print(-1)
else:
print(stack.pop())
elif operation[0] == "size":
print(len(stack))
elif operation[0] == "empty":
if len(stack) == 0:
print(1)
else:
print(0)
else:
if len(stack) == 0:
print(-1)
else:
print(stack[-1])
'Algorithm > Data Structure' 카테고리의 다른 글
[백준] 10866: 덱 (python 파이썬) (2) | 2024.04.07 |
---|---|
[백준] 10845: 큐 (python 파이썬) (0) | 2024.04.06 |
[백준] 1406: 에디터 (python 파이썬) (0) | 2024.04.05 |
[백준] 1874: 스택 수열 (python 파이썬) (0) | 2024.04.04 |
[백준] 9012: 괄호 (python 파이썬) (0) | 2024.04.04 |
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
기본적인 스택을 구현하는 문제였다.
import sys
input = sys.stdin.readline
n = int(input())
stack = list()
for i in range(n):
operation = input().split()
if operation[0] == "push":
stack.append(operation[1])
elif operation[0] == "pop":
if len(stack) == 0:
print(-1)
else:
print(stack.pop())
elif operation[0] == "size":
print(len(stack))
elif operation[0] == "empty":
if len(stack) == 0:
print(1)
else:
print(0)
else:
if len(stack) == 0:
print(-1)
else:
print(stack[-1])
'Algorithm > Data Structure' 카테고리의 다른 글
[백준] 10866: 덱 (python 파이썬) (2) | 2024.04.07 |
---|---|
[백준] 10845: 큐 (python 파이썬) (0) | 2024.04.06 |
[백준] 1406: 에디터 (python 파이썬) (0) | 2024.04.05 |
[백준] 1874: 스택 수열 (python 파이썬) (0) | 2024.04.04 |
[백준] 9012: 괄호 (python 파이썬) (0) | 2024.04.04 |