LeetCode 2348번 Number of Zero-Filled Subarrays 문제는 배열에 존재하는 0으로 된 부분배열을 구하는 문제다. 난이도는 Medium이다.
리트코드 2348번 Number of Zero-Filled Subarrays 문제 정보
알고리즘 분류
- Greedy
난이도
- Medium
문제 요약
- 정수로된 배열 nums가 주어졌을 때, 0으로 된 subarray의 개수를 구하라.
문제 풀이 과정
- 선형탐색 하면서 0이 몇개씩 이어져있는지 확인한다.
- 0 N개로 이루어진 배열의 subarray는 총 N(N+1)/2개이다.
코드
class Solution:
def zeroFilledSubarray(self, nums: List[int]) -> int:
ans = 0
zero_cnt = 0
def get_subarray_cnt(size):
return (size * (size + 1)) // 2
for num in nums:
if num == 0:
zero_cnt += 1
else:
ans += get_subarray_cnt(zero_cnt)
zero_cnt = 0
ans += get_subarray_cnt(zero_cnt)
return ans
- 시간복잡도: O(N)
- 공간복잡도: O(1)
728x90
'알고리즘' 카테고리의 다른 글
[Python] LeetCode - 1319. Number of Operations to Make Network Connected (0) | 2023.03.23 |
---|---|
[Python] LeetCode - 2492. Minimum Score of a Path Between Two Cities (0) | 2023.03.22 |
[Python] LeetCode - 605. Can Place Flowers (0) | 2023.03.20 |
[Python] LeetCode - 208. Implement Trie (Prefix Tree) (0) | 2023.03.17 |
[Python] LeetCode - 653. Two Sum IV - Input is a BST (0) | 2022.11.10 |
댓글