Python3/백준 알고리즘

2022.02.11 [백준] (python 파이썬) 스택

ian's coding 2022. 2. 11. 23:14
728x90
반응형

 

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

 

10828번: 스택

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

www.acmicpc.net


풀이

스택은 나중에 넣은 데이터를 먼저 빼낼 수 있는 데이터 구조로 LIFO방식이다.

스택은 list[]로 이미 구현 되어있다. 

list에서 append를 사용하면 리스트의 뒤에 데이터가 입력되고 

pop를 사용하면 리스트의 제일 뒤에 있는 데이터를 빼낼 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
list = []
for _ in range(int(sys.stdin.readline())):
    arr=sys.stdin.readline().split()
    if arr[0]=='push':
        list.append(int(arr[1]))
    elif arr[0]=='pop':
        print(list.pop()) if len(list)!=0 else print(-1)
    elif arr[0]=='size':
        print(len(list))
    elif arr[0]=='empty':
        print(1if len(list)==0 else print(0)
    elif arr[0]=='top':
        print(list[-1]) if len(list)!=0 else print(-1)
cs

 

 

 

 

728x90
반응형