isPowerfulBlog

[re-Solved] BOJ: 10773 | 제로 본문

Algorithm

[re-Solved] BOJ: 10773 | 제로

왕밤빵도라에몽 2024. 12. 11. 19:13

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