For Programmer
11.(3) 구간 합 빠르게 구하기 - 기타 알고리즘 본문
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
'코팅테스트 > 코딩테스트 이론 정리' 카테고리의 다른 글
11.(2) 투 포인터 - 기타 알고리즘 (0) | 2021.08.25 |
---|---|
11.(1) 소수 판별 알고리즘(에라토스테네스의 체) - 기타 알고리즘 (0) | 2021.08.25 |
10.(3) 위상 정렬 - 그래프 이론 (0) | 2021.08.25 |
10.(2) 크루스칼 알고리즘 - 그래프 이론 (0) | 2021.08.25 |
10.(1) 서로소 집합 자료구조(union-find) - 기타 그래프 이론 (0) | 2021.08.24 |
Comments