728x90
반응형
https://www.acmicpc.net/problem/10828
파이썬에서는 리스트의 연산을 사용하여 스택을 구현할 수 있다.
먼저 스택은 "First In Last Out"으로 먼저 들어온 것이 나중에 나오는 것이다.
스택의 push 연산의 경우 리스트의 append 연산을 사용하면 된다. append 연산을 사용하면 리스트의 뒤에 추가된다.
스택의 pop 연산의 경우 리스트의 pop 연산을 사용하면 된다. 리스트의 가장 앞 값을 반환하고 리스트에서 삭제한다.
스택의 top 연산의 경우 리스트의 인덱스 -1에 해당하는 값을 가져오면 된다. 리스트 인덱스 -1의 위치는 리스트의 가장 뒤이다.
전체 코드
import sys
n=int(input())
stack=[]
for _ in range(n):
temp=sys.stdin.readline().split()
if len(temp)==2:
stack.append(temp[1])
elif temp[0]=="pop":
if len(stack)==0:
print(-1)
continue
print(stack.pop())
elif temp[0]=="size":
print(len(stack))
elif temp[0]=="empty":
print("1" if len(stack)==0 else "0")
else:
if len(stack)==0:
print(-1)
continue
print(stack[-1])
728x90
반응형
'백준 알고리즘' 카테고리의 다른 글
[백준 2231][파이썬] 분해 합 (0) | 2023.02.09 |
---|---|
[백준 25682][파이썬] 체스판 다시 칠하기 (0) | 2023.01.28 |
[백준 9020][파이썬] 골드바흐의 추측 소수 판별 (에라토스테네스의 체) (0) | 2023.01.26 |
[백준 2563][파이썬] 색종이. 이차원 배열 (0) | 2023.01.25 |
[백준 1065][파이썬] 한수 (0) | 2023.01.16 |
댓글