출처 : https://leetcode.com/problems/number-of-zero-filled-subarrays/description/
- 주어진 배열에서 연속된 0으로 이루어진 Subarrays 갯수를 구해라
- 반복문을 돌며 0이 나오면 카운트를 세아리고, 0이 아니면 카운트를 초기화한다.
- 0이 나올 때, 카운트를 더하기 전에 answer에 카운트를 더한다.
주어진 리스트가 [0,0,0]일 때, 원소 n개로 된 SubArrays의 수는 3 C n 개다.
즉, 1개로 된 SubArrays 수는 3개, 2개로 된 수는 2개, 3개로 된 수는 1개....
그래서 0이 나올 때마다 카운트를 더한다면, 해당 길이 Array의 SubArrays 수를 구할 수 있다.
class Solution:
def zeroFilledSubarray(self, nums: List[int]) -> int:
idx = 0
answer = 0
cnt = 0
while idx < len(nums) :
if nums[idx] :
cnt = 0
idx += 1
else :
cnt += 1
idx += 1
answer += cnt
return answer