https://www.acmicpc.net/problem/10828
import sys
input = sys.stdin.read
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item) # 아이템 추가
def pop(self):
if not self.items:
return -1 # 비어있으면 -1 반환
return self.items.pop() # 아이템 제거 후 반환
def size(self):
return len(self.items) # 크기 반환
def empty(self):
return 1 if not self.items else 0 # 비어있으면 1, 아니면 0 반환
def top(self):
if not self.items:
return -1 # 비어있으면 -1 반환
return self.items[-1] # 가장 위의 아이템 반환
stack = Stack()
commands = input().splitlines()
for command in commands:
if command.startswith("push"):
_, value = command.split()
stack.push(int(value)) # 푸시 연산
elif command == "pop":
print(stack.pop()) # 팝 연산
elif command == "size":
print(stack.size()) # 사이즈 연산
elif command == "empty":
print(stack.empty()) # 비었는지 확인 연산
elif command == "top":
print(stack.top()) # 탑 연산
'Algorithm > 백준' 카테고리의 다른 글
항해99 리부트코스 알고리즘 2주 1일차 백준 1966 프린터 큐 (0) | 2024.07.25 |
---|---|
항해99 리부트코스 알고리즘 2주 1일차 백준 1406 에디터 (0) | 2024.07.25 |
백준 코딩테스트 1914 하노이 탑 (0) | 2024.07.23 |
백준 코딩테스트 2615 오목 (2) | 2024.07.23 |
백준 코딩테스트 1244 스위치 켜고 끄기 (2) | 2024.07.23 |