728x90
📌 문제
https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
📌 문제 접근 방법
- 함수로 따로 만들어보기
- 조건문으로 구현
- → 조건문이 시간이 더 짧았다! 왜일까..?
📌 코드
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 |
댓글