반응형
문제)
정수 배열 nums와 정수 k가 주어지면, 연속적인 부분 배열의 모든 원소의 곱이 엄밀하게 k보다 작은 연속 부분 배열의 수를 반환.
문제 난이도 : 중
소요시간 및 풀이)
슬라이딩 윈도우를 활용해서 풀었다.
소요 시간 : 27분
정답 코드
int numSubarrayProductLessThanK(vector<int>& nums, int k)
{
if (k <= 1) return 0;
int count = 0;
int product = 1;
int left = 0;
for (int right = 0; right < nums.size(); ++right) {
product *= nums[right];
while (product >= k) {
product /= nums[left];
++left;
}
count += (right - left + 1);
}
return count;
}
반응형
'코딩 테스트 연습' 카테고리의 다른 글
LeetCode : 1304. Find N Unique Integers Sum up to Zero (0) | 2024.05.31 |
---|---|
LeetCode : 735. Asteroid Collision (0) | 2024.05.31 |
LeetCode : 754. Reach a Number (0) | 2024.05.30 |
LeetCode : 692. Top K Frequent Words (0) | 2024.05.30 |
LeetCode : 575. Distribute Candies (0) | 2024.05.27 |