문제
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
알고리즘
- 반복문을 통해 명령을 받고 수행
- 명령은 리스트 형식으로 받고 조건문을 통해 명령을 수행
코드
import sys
n = int(sys.stdin.readline())
stack = []
# 반복문을 통해 명령을 수행
for i in range(n):
# 리스트 형식으로 명령을 받는다.
order = list(map(str, sys.stdin.readline().split()))
if order[0] == "pop":
if stack:
print(stack.pop())
else:
print(-1)
elif order[0] == "size":
print(len(stack))
elif order[0] == "empty":
if stack:
print(0)
else:
print(1)
elif order[0] == "top":
if stack:
print(stack[-1])
else:
print(-1)
else:
stack.append(order[1])
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 9012번(파이썬): 괄호 (0) | 2021.09.04 |
---|---|
[baekjoon] 백준 9093번(파이썬): 단어 뒤집기 (0) | 2021.09.04 |
[baekjoon] 백준 1058번(파이썬): 친구 (0) | 2021.09.03 |
[baekjoon] 백준 1916번(파이썬): 최소비용 구하기 (0) | 2021.09.02 |
[baekjoon] 백준 1753번(파이썬): 최단경로 (0) | 2021.09.01 |