백준 - 10828번: 스택 - 파이썬

SEONGJIN LEE·2022년 2월 26일
0

code-test

목록 보기
5/18

백준 - 10828번: 스택

문제

입출력 형식 및 출처

length = int(input())
temp_stack = []
answer = ""

for i in range(length):
    input_data = input().split(" ")
    
    if len(input_data) == 1:
        if input_data[0] == "top":
            if len(temp_stack) <= 0:
                # print(-1)
                answer = answer + "-1" + "\n"
            else:
                # print()
                data = str(temp_stack[-1])
                answer = answer + data + "\n"
        elif input_data[0] == "size":
            # print(len(temp_stack))
            data = str(len(temp_stack))
            answer = answer + data + "\n"
        elif input_data[0] == "empty":
            if temp_stack:
                # print(0)
                answer = answer + "0" + "\n"
            else:
                # print(1)
                answer = answer + "1" + "\n"
        elif input_data[0] == "pop":
            if temp_stack:
                value = str(temp_stack.pop())
                answer = answer + value + "\n"
            else:
                # print(-1)
                answer = answer + "-1" + "\n"
    elif len(input_data) == 2:
        temp_stack.append(int(input_data[1]))

print(answer)

스택 구현 문제

  • 스택을 이해하고 이에 관련된 메소드를 구현
  • 분기를 통해 명령어(top, size, empty등)을 확인 하고 이를 구현
  • answer를 담지 않고 명령어대로 출력하면 시간 초과가 나온다. 이를 해결해야함
profile
조금 늦어도 꾸준하게

0개의 댓글