-
[Python] 백준 11659 구간 합 구하기 4알고리즘/문제풀이 2021. 9. 4. 15:26728x90
1. 문제 링크
https://www.acmicpc.net/problem/11659
2. 문제 요약
i번째 수부터 j번째 수까지 합을 구한다. = 구간합
3. 아이디어 정리
- 현재 수 + 앞에 존재하는 수들의 합을 구한다.
- 1에서 구한 값 j에서 i - 1을 빼면 구간에 대한 합을 구할 수 있다.
4. 문제 풀이
4-1. 내 풀이
import sys # 수의 개수, 합을 구해야하는 횟수 n, m = map(int, sys.stdin.readline().split()) arr = list(map(int, sys.stdin.readline().split())) prefix = [0] for i, a in enumerate(arr): prefix.append(prefix[i] + a) # 합을 구해야하는 구간 i, j for _ in range(m): i, j = map(int, sys.stdin.readline().split()) print(prefix[j] - prefix[i - 1])
5. 결론
- 기본적인 구간합 문제이다.
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Python] Programmers 직업군 추천하기 (0) 2021.09.04 [Python] 백준 1038 감소하는 수 (3) 2021.09.04 [Python] Programmers 자동완성 (0) 2021.08.20 [Python] Programmers 124 나라의 숫자 (0) 2021.08.20 [Python] 백준 16235 나무 재테크 (0) 2021.08.20