728x90
반응형
문제 출처 : https://www.acmicpc.net/problem/10828 |
import sys
N=int(input())
result=[]
for i in range(N):
M=sys.stdin.readline().split()
if M[0]=='push':
result.append(M[1])
elif M[0]=='top':
if len(result)!=0:
print(result[-1])
else:
print(-1)
elif M[0]=='size':
print(len(result))
elif M[0]=='empty':
if len(result)==0:
print(1)
else:
print(0)
elif M[0]=='pop':
if len(result)!=0:
print(result.pop())
else:
print(-1)
여기서 더 효율적으로(?) 풀려면 함수로 따로 빼서 풀이하는 것이 생각한다..! 문제에 주어진 조건에 따라 스택을 list로 생성한 후 append하거나 len을 통해 길이를 구하거나 pop을 통해 삭제하면 된다! 시간적인 부분에서 실패할 수도 있는데 이제 자연스럽게 input()보다 sys를 사용한다!
728x90
반응형
'알고리즘이야기 > 백준' 카테고리의 다른 글
1260번 DFS와 BFS (0) | 2020.06.10 |
---|---|
10430번 나머지 (0) | 2020.06.02 |
2751번 수 정렬하기2 (0) | 2020.05.30 |
2750번 수 정렬하기 (0) | 2020.05.30 |
1920번 수 찾기 (0) | 2020.05.24 |
댓글