본문 바로가기

알고리즘, 문제 풀이기록

#22 스택

https://www.acmicpc.net/problem/10828

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()이 필요할 때 학습을 하도록 하자.