본문 바로가기

코딩테스트/Python

[Python] 백준 #10828 - 스택

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

 

10828번: 스택

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

www.acmicpc.net

 

 

풀이

import sys
input = sys.stdin.readline
n = int(input())
a = []
for _ in range(n):
    x=input().split()
    if x[0]=="push": a.append(x[1])
    elif x[0]=="pop": print(-1 if len(a)==0 else a.pop())
    elif x[0]=="size":print(len(a))
    elif x[0]=="empty":print(1 if len(a)==0 else 0)
    elif x[0]=="top": print(-1 if len(a)==0 else a[-1])

 

조건문으로 나누어서 풀어주었다.

sys.stdin.readline을 쓰지 않으면 시간초과가 난다.

'코딩테스트 > Python' 카테고리의 다른 글

[Python] 백준 #9012 - 괄호  (0) 2021.12.02
[Python] 백준 #10773- 제로  (0) 2021.12.01
[Python] 백준 #5086 - 배수와 약수  (0) 2021.12.01
[Python] 백준 #15652 - N과 M (4)  (0) 2021.12.01
[Python] 백준 #15651 - N과 M (3)  (0) 2021.12.01