Subarray sum divisible by k

Write codeMedium20 min

Your task

Given an integer array (values may be negative) and a positive integer k, return the number of contiguous subarrays whose sum is divisible by k. The array may contain negatives, so handle modular arithmetic carefully. The array has at least one element.

Examples

subarrays_div_by_k(nums: list[int], k: int) -> int
Example 1
Inputsubarrays_div_by_k([4, 5, 0, -2, -3, 1], 5)
Output7