Python/알고리즘
구간 합 빠르게 계산하기
개발게발
2022. 10. 13. 23:57
답안 예시
# 데이터의 개수 N과 데이터 입력받기
n = 5
data = [10, 20, 30, 40, 50]
# 접두사 합(Prefix_Sum) 배열 계산
sum_value = 0
prefix_sum = [0]
for i in data:
sum_value += i
prefix_sum.append(sum_value)
# 구간 합 계산(세 번째 수부터 번째 수까지)
left = 3
right = 4
print(prefix_sum[right] - prefix_sum[left-1])
작성한 답안
# 데이터의 개수 N과 데이터 입력받기
n = 5
m = [10, 20, 30, 40, 50]
# 접두사 합 배열 계산
p = [0] * (n+1)
sumNum = 0
for i in range(n):
sumNum += m[i]
p[i+1] = sumNum
# 구간 합 계산(세 번째 수부터 번째 수까지)
left = 3
right = 4
print(p[right] - p[left-1])
70
출처 : https://www.youtube.com/watch?v=cswJ1h-How0&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=9&t=1009s