💻 문제 - S4
👉 제출 코드
import sys
N = int(sys.stdin.readline())
arr = []
for _ in range(N):
command = sys.stdin.readline().split()
if command[0] == 'push':
arr.append(command[1])
elif command[0] == 'pop':
if len(arr) == 0:
print(-1)
else:
print(arr.pop())
elif command[0] == 'size':
print(len(arr))
elif command[0] == 'empty':
if len(arr) == 0:
print(1)
else:
print(0)
elif command[0] == 'top':
if len(arr) == 0:
print(-1)
else:
print(arr[-1])
- input() 대신 sys를 사용하여 시간초과 해결
- split을 사용하여 인덱스로 값에 접근한다
- remove 대신 pop을 사용한다
- arr.remove(arr[-1])로 하면 틀렸습니다가 뜬다
- arr에 똑같은 숫자가 여러 개 있을 때 맨 뒤의 숫자만이 아닌 다른 숫자도 지우기 때문이다
- pop을 사용하여 맨 뒤의 숫자만을 제거한다