728x90
반응형
문제
https://www.acmicpc.net/problem/10828
표준 입력을 위해 sys모듈 추가.
비어있는 리스트 생성.
입력받은 정수만큼 반복.
- 문자열 입력.
- 입력받은 문자열에서 앞 네글자가 push이면 띄어쓰기를 기준으로 명령어와 값을 분리.
- 아니면 해당 문자열을 명령어로 사용하고, 숫자는 임의의 값(0)을 저장.
- 명령어가 push이면 저장.
- 명령어가 pop일 경우 리스트에 요소가 존재하면 pop 아니면 -1 출력.
- 명령어가 size일 경우 리스트의 길이 출력.
- 명령어가 empty일 경우 비어있으면 1 아니면 0 출력.
- 명령어가 top일 경우 비어있으면 -1 아니면 맨 뒤 요소 출력.
import sys
input = sys.stdin.readline
stack = []
for _ in range(int(input())):
msg = input().strip()
if msg[:4] == 'push':
cmd, n = msg.split()
else:
cmd = msg
n = 0
if cmd == 'push':
stack.append(int(n))
elif cmd == 'pop':
print(stack.pop() if stack else -1)
elif cmd == 'size':
print(len(stack))
elif cmd == 'empty':
print(0 if stack else 1)
elif cmd == 'top':
print(stack[-1] if stack else -1)
728x90
반응형
'코딩 > 공부' 카테고리의 다른 글
[Python] 백준 2164번 - 카드2 (0) | 2024.03.29 |
---|---|
[Python] 백준 10773번 - 제로 (0) | 2024.03.29 |
[Python] 백준 9012번 - 괄호 (1) | 2024.03.29 |
[Python] 백준 1010번 - 다리 놓기 (0) | 2024.03.29 |
[Python] 백준 9461번 - 파도반 수열 (0) | 2024.03.29 |