Algorithm/문제풀이_백준
[Swift][누적합] 백준 11659번 (구간 합 구하기4)
Joahnee
2022. 5. 30. 11:40
요구능력
누적합
문제풀이
기본적인 누적합에 대한 개념을 숙지한다면 쉽게 풀리는 문제이다.
후기
누적합의 개념에 대해 알아보았다!
코드
import Foundation
let nm = readLine()!.split(separator: " ").map{Int(String($0))!}
let n = nm[0]
let m = nm[1]
var arr = readLine()!.split(separator: " ").map{Int(String($0))!}
var str = ""
var prefixSum = Array(repeating: 0, count: arr.count)
prefixSum[0] = arr[0]
for i in stride(from: 1, to: arr.count, by: 1){
prefixSum[i] += (arr[i] + prefixSum[i - 1])
}
for _ in 0..<m{
let ij = readLine()!.split(separator: " ").map{Int(String($0))!}
var sum = 0
let i = ij[0] - 1
let j = ij[1] - 1
if i != 0 {
sum = prefixSum[j] - prefixSum[i - 1]
}else{
sum = prefixSum[j]
}
str += "\(sum)\n"
}
print(str)