Open hsskey opened 2 months ago
loop i // i는 끝까지 이동
windowSum += arr[i]
if(인덱스 기준으로 윈도우 범위까지내에서)
maxSum 업데이트
windowSum -= 이전값 빼기
return maxSum
function maxSumOfSubArray(arr, k) {
let windowSum = 0 // 부분합 저장
let maxSum = -Infinity // 0 대신 사용하는 이유는 배열중 음수 대비
for(let i = 0; i < arr.length -1; i++) {
windowSum += arr[i]
// 인덱스를 기준으로 윈도우의 범위를 업데이트
if(i >= k - 1) {
maxSum = Math.max(windowSum, maxSum)
windowSum -= arr[i - (k -1)]
}
}
return maxSum
}
부분 배열의 최대합
사이즈가 k인 부분배열(subarray)의 최대 합을 구하시오
📝 제약조건
제약조건 작성
💡 예시
arr = [5, 7, -1, 14, 3, 12, 1, 4], k = 3
29
문제 해결 과정
Step 1: 문제 이해하기
제약조건
,input
,output
을 확인하여 문제를 정확히 파악합니다.Step 2: 접근 방법
Step 3: 코드 설계 (수도코드)
Step 4: 코드 구현 (Brute Force)