전공/백준
10828
yha97
2022. 10. 17. 13:06
날짜 : 2022. 10. 17
사용 언어 : python
문제
코드
import sys
n = int(sys.stdin.readline())
stack = []
for _ in range(n):
command = sys.stdin.readline().strip() # 명령어 입력
if command[:4] == "push":
temp, num = command.split()
stack.append(int(num))
else:
if command == "top":
if len(stack) == 0:
print(-1)
else:
print(stack[-1])
elif command == "size":
print(len(stack))
elif command == "empty":
if len(stack) == 0:
print(1)
else:
print(0)
elif command == "pop":
if len(stack) == 0:
print(-1)
else:
print(stack.pop(-1))
알게된 점
- 기본적인 스택 문제였고 명령어를 구분하는 것과 명령어에 해당하는 메소드를 적절하게 활용하는 것이 키포인트였다.
- 일반 문자열 한 줄을 입력받기 위해서는 strip()을 이용하자.
- 맨 앞, 뒤의 공백을 저절로 삭제해주기 때문에 sys.stdin.readline()을 활용할 때 같이 사용한다면 맨 뒤에 입력되는 개행문자는 저절로 생략된다.
참고 사이트
-