isPowerfulBlog
[re-Solved] BOJ: 10773 | 제로 본문
2년 전 코드
from collections import deque
import sys
input = sys.stdin.readline
k = int(input())
stack = deque([])
for _ in range(k):
tmp = int(input())
if tmp != 0:
stack.append(tmp)
else:
stack.pop()
print(sum(stack))
- (good) 대체적으로 괜찮음!
개선 코드
from collections import deque
import sys
input = sys.stdin.readline
if __name__ == "__main__":
k = int(input())
stack = deque([])
for _ in range(k):
n = int(input())
if n == 0:
stack.pop()
else:
stack.append(n)
sys.stdout.write(str(sum(stack)) + "\n")
- (good) 직접 실행 파일인거 드러내 주는게 더 좋고
- (good) stdout 써서 출력 속도 개선
배운점 / 다시 상기한 점
- sum()은 C기반이라 while루프 + pop 조합 보다 훨씬 빠름, stack도 보존할 수 있음
- 출력 속도 개선하는게 차이가 꽤 큼
'Algorithm' 카테고리의 다른 글
[re-Solved] BOJ: 2164 | 카드2 (0) | 2024.12.11 |
---|---|
[Solved] BOJ: 1920 | 수 찾기 (0) | 2024.12.11 |
[re-Solved] BOJ: 10828 | 스택 (0) | 2024.12.10 |
[re-Solved] BOJ: 9012 | 괄호 (0) | 2024.12.10 |
[re-Solved] BOJ: 10845 | 큐 (0) | 2024.12.10 |