참조 : 이것이 취업을 위한 코딩 테스트다 (나동빈 저)
class Solution {
func subarraySum(_ nums: [Int], _ k: Int) -> Int {
var sums = [0]
var index = nums.startIndex
while index < nums.count {
sums.append(nums[index] + sums[index])
index = nums.index(after: index)
}
var result = 0
var addLength = 0
while addLength < sums.count {
for j in 0..<sums.count - addLength - 1 {
let left = j
let right = j + addLength + 1
if sums[right] - sums[left] == k {
result += 1
}
}
addLength += 1
}
return result
}
}