Leetcode - 2348. Number of Zero-Filled Subarrays

Godtaek·2023년 3월 21일
0

Algo_Problem

목록 보기
1/7

출처 : https://leetcode.com/problems/number-of-zero-filled-subarrays/description/

문제 요약

  1. 주어진 배열에서 연속된 0으로 이루어진 Subarrays 갯수를 구해라

풀이요약

  1. 반복문을 돌며 0이 나오면 카운트를 세아리고, 0이 아니면 카운트를 초기화한다.
  2. 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
profile
성장하는 개발자가 되겠습니다

0개의 댓글