요구능력
누적합
문제풀이
기본적인 누적합에 대한 개념을 숙지한다면 쉽게 풀리는 문제이다.
후기
누적합의 개념에 대해 알아보았다!
코드
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)
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
[Swift][누적합] 백준 16139번 (인간 - 컴퓨터 상호작용) (0) | 2022.05.30 |
---|---|
[Swift][누적합] 백준 2559번 (수열) (0) | 2022.05.30 |
[Swift][우선순위 큐] 백준 1655번 (가운데를 말해요) (0) | 2022.05.27 |
[Swift][우선순위 큐] 백준 11286 (절댓값 힙) (0) | 2022.05.27 |
[Swift][우선순위 큐] 백준 1927, 11279 (최소힙, 최대힙) (0) | 2022.05.27 |
댓글