import sys
N = int(sys.stdin.readline())
stack = []
for _ in range(N):
input = sys.stdin.readline().split()
if input[0] == "push" + "int":
stack.append(int)
if input("top"):
print(stack[-1])
if input("size"):
print(stack.count())
if input("empty"):
if stack.count() == 0:
print("1")
else:
print("0")
if input("pop"):
if stack.count() != 0:
stack.pop(stack[-1])
else:
print("-1")
미완인 코드를 첨부한다. 처음에 input으로 입력받았다가 답안에서 sys.stdin.readline()이 시간복잡도를 줄여준다고 하여서 그렇게 수정하려고 한 흔적이 볼 수 있다. 문제가 스택 문제긴 하지만 sys.stdin.readline()에 대한 이해를 하는 것도 중요하다고 생각한다. 추후 sys.stdin.readline()이 필요할 때 학습을 하도록 하자.
'알고리즘, 문제 풀이기록' 카테고리의 다른 글
#24: 괄호 (0) | 2021.06.21 |
---|---|
#23: 제로 (0) | 2021.06.21 |
알고리즘 주간 #21 나무 자르기 (0) | 2021.06.21 |
알고리즘 주간 #20 좌표 정렬하기 2 (0) | 2021.06.20 |
알고리즘 주간 #19 하노이 탑 이동 순서 (0) | 2021.06.19 |