내 맘대로 풀고 싶은 거 풀기!
import sys
input = sys.stdin.readline
n = int(input())
stack = []
for _ in range(n):
task = list(map(int, input().rstrip().split()))
if task[0] == 1:
stack.append(task[1])
elif task[0] == 2:
if len(stack) == 0:
print(-1)
else:
print(stack.pop())
elif task[0] == 3:
print(len(stack))
elif task[0] == 4:
if len(stack) == 0:
print(1)
else:
print(0)
else:
if len(stack) == 0:
print(-1)
else:
print(stack[-1])
문제 자체는 별로 어렵지 않다고 생각했는데, 정답률이 38% 밖에 되지 않아 조금 놀랐다.
내 풀이는 숫자 받을 때마다 처리해주는 방식!
(시간 초과 뜰까 두근두근 했지만, 통과!)
다들 비슷비슷했다.
stack 실버 4니까 ...
근데 한 가지 궁금했던 게, 결국 여기서 시간을 줄일 수 있는 구간이 많지 않을텐데, 만약 기존 python의 input()
을 쓰면 어떻게 될까? 라는 생각이 들었다. 그래서 바로 실험함.
세 번째 풀이가 input()
함수 쓴 건데, 시간 초과가 났다!
앞으로 꼭 sys.stdin.readline()
을 써야지 ...!
다음 번엔 두 가지가 무엇이 다른지 한 번 리뷰해보겠다.
쉬운 거라도 매일 풀면서 감 찾기