ALGORITHM/PYTHON

백준 BAEKJOON 11659번 구간 합 구하기 4 [PYTHON/파이썬]

칼코
반응형

 

 

 

 

 

백준 BAEKJOON 11659번 구간 합 구하기 4 [PYTHON/파이썬]


<문제 출처> (SILVER Ⅲ)

https://www.acmicpc.net/problem/11659

 

11659번: 구간 합 구하기 4

첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j

www.acmicpc.net

 

 

 

 

 

 

<풀이>

백준 11441번 합 구하기와 같은 문제이다.

 

백준 BAEKJOON 11441번 합 구하기 [PYTHON/파이썬]

백준 BAEKJOON 11441번 합 구하기 [PYTHON/파이썬] (SILVER Ⅲ) https://www.acmicpc.net/problem/11441 11441번: 합 구하기 첫째 줄에 수의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄에는 A1, A2, ..., AN이 주어진다. (-1,

calkolab.tistory.com

 

누적합을 이용해서 풀면된다.

 

1. 원본 배열 A를 기준으로 누적합 배열 S를 만든다.

2. 문제에서 주어지는 구간 i, j에 따라 결과를 출력한다.

 

 

 

 

 

 

<코드>

import sys

input = sys.stdin.readline
N, M = map(int, input().split())
A = [0] + list(map(int, input().split()))
S = [0] * (N + 1)

for k in range(1, N + 1):
    S[k] = S[k - 1] + A[k]

for _ in range(M):
    i, j = map(int, input().split())
    result = S[j] - S[i - 1]
    print(result)

 

 

 

 

 

 

반응형