문제 링크 : https://leetcode.com/problems/continuous-subarray-sum/description/
nums에서 연속적인 숫자의 합이 nums의 배수가 될 수 있으면 true 아니면 false를 반환한다.
예를 들어 nums = [23,2,4,6,7], k = 6가 주어졌으면
23%6= 5 이다 그리고 2+4를 합해서 23+2+4 =29의 나머지는 똑같이 5다.
나머지를 remain에 넣고 이후에 똑같은 나머지가 있으면 true를 반환하면 된다.
class Solution:
def checkSubarr0 aySum(self, nums: List[int], k: int) -> bool:
total = 0
remain= {0:-1}
for i,n in enumerate(nums):
total += n
r = total%k
if r not in remain:
remain[r] = i
elif i-remain[r]>1:
return True
return False