일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- slidingwindow
- codeup
- LeetCode
- sql코테
- GenAI
- 투포인터
- stratascratch
- 파이썬기초100제
- Microsoft
- 파이썬알고리즘
- two-pointer
- medium
- nlp
- 파이썬
- 릿코드
- 슬라이딩윈도우
- GenerativeAI
- 구글퀵랩
- 생성형AI
- gcp
- 알고리즘
- 코드업
- SQL
- Python3
- 니트코드
- Blazor
- 리트코드
- 자연어처리
- dfs
- Python
Archives
- Today
- Total
Tech for good
[Leetcode/Sliding Window] 713. Subarray Product Less Than K 본문
IT/Computer Science
[Leetcode/Sliding Window] 713. Subarray Product Less Than K
Diana Kang 2025. 3. 8. 00:20
- 슬라이딩 윈도우 반복 (for right in range(len(nums)))
- right 포인터를 이동하면서 새로운 숫자를 곱함.
- product *= nums[right] → 현재 부분 배열의 곱을 업데이트.
- 조건을 만족하지 않으면 left 이동 (while product >= k)
- 곱이 k 이상이면 left 포인터를 오른쪽으로 이동하여 곱을 줄임.
- product //= nums[left]: left가 가리키던 값을 나누어 곱을 감소.
- //= : 몫을 구하는 나눗셈 후 할당 연산자
- ex) a //= b -> a = a // b
- //= : 몫을 구하는 나눗셈 후 할당 연산자
- left += 1: left를 이동하여 윈도우 크기를 줄임.
- 가능한 부분 배열 개수 추가 (count += right - left + 1)
- (right - left + 1)는 현재 윈도우에서 만들 수 있는 부분 배열 개수.
- 예를 들어, left=1, right=3이면 [nums[1]], [nums[1,2]], [nums[1,2,3]] 이렇게 3개.
- 최종 count 반환
- 모든 부분 배열을 확인한 후 count 값을 반환.
'IT > Computer Science' 카테고리의 다른 글
[Leetcode/Tree] 404. Sum of Left Leaves (0) | 2025.03.12 |
---|---|
[Leetcode/Sliding Window] 2760. Longest Even Odd Subarray With Threshold (0) | 2025.03.08 |
[Leetcode/Sliding Window] 1876. Substrings of Size Three with Distinct Characters (0) | 2025.03.03 |
[Neetcode/Sliding Window] Permutation in String (0) | 2025.03.03 |
[Leetcode/Sliding Window] 1652. Defuse the Bomb (0) | 2025.03.03 |