ps:problems:boj:10828
스택
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 10828 |
문제명 | 스택 |
레벨 | 실버 4 |
분류 |
스택 |
시간복잡도 | O(n) |
인풋사이즈 | n<=10000 |
사용한 언어 | Python |
제출기록 | 29200KB / 80ms |
최고기록 | 60ms |
해결날짜 | 2021/07/30 |
풀이
- 파이썬에서는 그냥 리스트를 쓰면 스택의 연산들을 모두 수행 가능하다
- 주어진 연산들은 모두 O(1)에 처리되므로 총 시간복잡도는 O(n).
코드
"""Solution code for "BOJ 10828. 스택".
- Problem link: https://www.acmicpc.net/problem/10828
- Solution link: http://www.teferi.net/ps/problems/boj/10828
"""
import sys
def main():
N = int(sys.stdin.readline())
stack = []
for _ in range(N):
command = sys.stdin.readline().split()
if command[0] == 'push':
stack.append(command[1])
elif command[0] == 'pop':
print(stack.pop() if stack else '-1')
elif command[0] == 'size':
print(len(stack))
elif command[0] == 'empty':
print('0' if stack else '1')
elif command[0] == 'top':
print(stack[-1] if stack else '-1')
if __name__ == '__main__':
main()
ps/problems/boj/10828.txt · 마지막으로 수정됨: 2021/10/15 16:19 저자 teferi
토론