{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉슬라이딩 윈도우〉예산 내 최장 연속 구매← 이전다음 →
#093 · 슬라이딩 윈도우중간슬라이딩 윈도우 (가변 크기)

예산 내 최장 연속 구매

문제

진열대에 상품들이 일렬로 놓여 있고, 각 상품의 가격이 양의 정수 배열 nums로 주어집니다. 예산 한도 K가 주어질 때, 연속해서 고른 상품들의 가격 합이 K 이하가 되는 가장 긴 연속 구간의 길이를 반환하세요.

예시

nums=[2,1,5,1,3,2], K=8
→ 3 ([2,1,5] 또는 [1,5,1] 구간, 합 ≤ 8)

제약 조건

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

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

테스트 케이스

예시 1: [2,1,5] 합=8 → 길이 3
입력: nums = [2,1,5,1,3,2], K = 8
출력: 3
예시 2: [1,2,3,4] 합=10 → 길이 4
입력: nums = [1,2,3,4,5], K = 11
출력: 4
예시 3: 전체 합=6 ≤ 100 → 길이 3
입력: nums = [1,2,3], K = 100
출력: 3
예시 4: 모든 원소 > K → 길이 0
입력: nums = [5,5,5], K = 4
출력: 0
예시 5: 단일 원소 합=3 ≤ 3 → 길이 1
입력: nums = [3], K = 3
출력: 1
예시 6: 단일 원소 3 > 2 → 길이 0
입력: nums = [3], K = 2
출력: 0
예시 7: [1,1,1] 합=3 ≤ 4 → 길이 3
입력: nums = [4,2,1,6,1,1,1], K = 4
출력: 3
예시 8: 전체 합=40000 ≤ K → 길이 4
입력: nums = [10000,10000,10000,10000], K = 1000000000
출력: 4
solution.ts
에디터 로딩 중…

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