For Programmer

11.(3) 구간 합 빠르게 구하기 - 기타 알고리즘 본문

코팅테스트/코딩테스트 이론 정리

11.(3) 구간 합 빠르게 구하기 - 기타 알고리즘

유지광이 2021. 8. 25. 13:52
728x90

소스 코드

#데이터의 개수 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)
    
print(prefix_sum) # [0, 10, 30, 60, 100, 150] 출력

#구간 합 계산(세 번째 수부터 네 번째 수까지)
left = 3
right = 4
print(prefix_sum[right] - prefix_sum[left-1]) #70출력

 

728x90
Comments