반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
- push X: 정수 X를 스택에 넣는 연산
- pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력 (빈 스택이면 -1 출력)
- size: 스택에 들어있는 정수의 개수 출력
- empty: 스택이 비어있으면 1, 아니면 0을 출력
- top: 스택의 가장 위에 있는 정수를 출력 (빈 스택이면 -1 출력)
스택을 구현하는 문제입니다.
2022.02.10 - [Algorithm] - [Algorithm] 스택(stack), 차곡차곡 쌓는 자료구조
스택 자료구조에 대한 설명은 위 링크를 참조해주시기 바랍니다.
3. 코드
import sys
input = sys.stdin.readline
N = int(input())
stack = []
for _ in range(N):
command = input().rstrip()
#push
if command[:4] == 'push':
stack.append(int(command[5:]))
#pop
elif command == 'pop':
if len(stack)==0:
print(-1)
else:
print(stack.pop())
#size
elif command == 'size':
print(len(stack))
#empty
elif command == 'empty':
print(1 if len(stack)==0 else 0)
#top
elif command == 'top':
if len(stack)==0:
print(-1)
else:
print(stack[-1])
#print(command)
#print(stack)
스택만 알고 있다면 구현은 쉽습니다. 파이썬에서는 리스트를 통해서 스택을 간단히 구현할 수 있습니다.
list의 pop 메서드는 stack의 pop 연산과 동일하며, 스택의 정수 개수는 len 함수로 계산합니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 27433 팩토리얼 2 - 파이썬(Python) (0) | 2023.07.18 |
---|---|
[자료구조/큐] 백준 10845 큐 - 파이썬(Python) (0) | 2023.07.17 |
[구현] 백준 28295 체육은 코딩과목 입니다 - 파이썬(Python) (2) | 2023.07.04 |
[자료구조/집합] 백준 1269 대칭 차집합 - 파이썬(Python) (0) | 2023.07.03 |
[구현/게임이론] 백준 9661 돌 게임 7 - 파이썬(Python) (0) | 2023.07.03 |
댓글