본문 바로가기
ALGORITHM/BAEKJOON

[BOJ/Python] 10828. 스택

by 안녕나는현서 2021. 8. 9.
728x90

📌 문제

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

 

10828번: 스택

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

 

📌 문제 접근 방법

  1. 함수로 따로 만들어보기
  2. 조건문으로 구현
  3. → 조건문이 시간이 더 짧았다! 왜일까..?

 

📌 코드

import sys
    
N = int(sys.stdin.readline())

stack = []

for _ in range(N) :
    command = sys.stdin.readline()[:-1]

    if 'push' in command :
        number = int(command.split()[-1])
        stack.append(number)

    elif command == 'pop' :
        if stack :
            print(stack.pop())
        else :
            print(-1)

    elif command == 'size' :
        print(len(stack))

    elif command == 'empty' :
        if stack :
            print(0)
        else :
            print(1)

    elif command == 'top' :
        if stack :
            print(stack[-1])
        else :
            print(-1)

 

728x90

'ALGORITHM > BAEKJOON' 카테고리의 다른 글

[BOJ/Python] 17413. 단어 뒤집기 2  (0) 2021.08.16
[BOJ/Python] 1120. 문자열  (0) 2021.08.16
[BOJ/Python] 4949. 균형잡힌 세상  (0) 2021.08.09
[BOJ/Python] 18258. 큐2  (0) 2021.08.09
[BOJ/Python] 10818. 최소, 최대  (0) 2021.07.27

댓글