{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉슬라이딩 윈도우〉연속 부분 수열 합 개수← 이전다음 →
#042 · 슬라이딩 윈도우쉬움슬라이딩 윈도우

연속 부분 수열 합 개수

문제

자연수로 이루어진 배열 nums와 목표값 n이 주어집니다. 합이 정확히 n이 되는 연속된 부분 수열의 개수를 반환하세요.

예시

nums = [1, 2, 3, 4, 5], n = 5
→ 3 ([5], [2,3], [1,4] 가 아닌 [1,2], [2,3]... → [1,4]는 연속X)
연속된 것만: [5], [2,3], [1,2,3-1=안됨]
→ [5]=5, [2,3]=5, [1,2,2]=안됨... 정확히: [5], [2,3] → 2개
 
실제 예시:
nums = [1, 2, 3, 4, 5], n = 5 → 2 ([2,3], [5])
nums = [1, 1, 1, 1, 1], n = 3 → 3
nums = [3, 1, 2, 4], n = 6 → 2 ([3,1,2], [2,4])

제약 조건

  • 1 ≤ nums.length ≤ 10,000
  • 1 ≤ nums[i] ≤ 1,000
  • 1 ≤ n ≤ 10,000,000

시간 복잡도 목표: O(N)

공간 복잡도 목표: O(1)

테스트 케이스

예시 1: [1,2,3,4,5], n=5 → 2 ([2,3], [5])
입력: nums = [1,2,3,4,5], n = 5
출력: 2
예시 2: [1,1,1,1,1], n=3 → 3
입력: nums = [1,1,1,1,1], n = 3
출력: 3
예시 3: [3,1,2,4], n=6 → 2 ([3,1,2], [2,4])
입력: nums = [3,1,2,4], n = 6
출력: 2
예시 4: 합 불가 → 0
입력: nums = [1,2,3], n = 10
출력: 0
예시 5: 단일 원소 → 1
입력: nums = [5], n = 5
출력: 1
solution.ts
에디터 로딩 중…

▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.