523. Continuous Subarray Sum

Doyeon Kim·2022년 10월 9일

코딩테스트 공부

목록 보기
126/171

문제 링크 : 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
profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글