https://leetcode.com/problems/subarray-sum-equals-k/description/

class Solution {
public int subarraySum(int[] nums, int k) {
Map<Integer, Integer> map = new HashMap<>();
map.put(0, 1); // 빈 배열일 땐 합이 0
int sum = 0;
int answer = 0;
for(int n : nums) {
sum += n;
answer += map.getOrDefault(sum-k, 0); // sum-k가 있다면, 부분배열을 만족하므로 그만큼 더해주고
map.put(sum, map.getOrDefault(sum, 0) + 1); // sum에 해당하는 count를 ++
}
return answer;
}
}