문제 출처 : www.acmicpc.net/problem/11659
11659번: 구간 합 구하기 4
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j
www.acmicpc.net
문제 해석 : 숫자가 들어있는 배열이 주어질 때 i에서 j 까지의 합을 구하는 문제이다.
문제 풀이 : 매 요청마다 직접 합을 구하면 시간초과가 나기때문에 처음부터 합을 구해놓고 요청마다 그 합을 출력해준다.
풀이 시간 (기록용) : 10분
풀이 코드
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
arr = list(map(int, input().split()))
sum_arr = [0,arr[0]]
for i in range(1,len(arr)):
sum_arr.append(sum_arr[i] + arr[i])
for _ in range(M):
start, end = map(int, input().split())
print(sum_arr[end] - sum_arr[start-1])
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 3055 탈출 문제 풀이 (0) | 2021.04.23 |
---|---|
[알고리즘][Python] 백준 좋은수열 2661 문제 풀이 (6) | 2021.04.22 |
[알고리즘][Python] 백준 16928 뱀과 사다리 게임 문제 풀이 (0) | 2021.04.21 |
[알고리즘][Python][C++] 백준 2493 탑 문제 풀이 (1) | 2021.04.01 |
[알고리즘][C++] 백준 9205 맥주 마시면서 걸어가기 문제 풀이 (0) | 2021.03.31 |