본문 바로가기
CodeSignal

arrayMaxConsecutiveSum

by Doromi 2023. 12. 24.
728x90
반응형
주어진 배열 inputArray와 정수 k에 대해, 배열에서 연속된 두 요소의 합 중에서 가장 큰 값을 찾아 반환하는 문제입니다.

예를 들어, inputArray = [2, 3, 5, 1, 6]이고 k = 2이면, 연속된 두 요소의 합은 다음과 같습니다:

2 + 3 = 5
3 + 5 = 8
5 + 1 = 6
1 + 6 = 7
따라서, 가장 큰 합은 8입니다.
int solution(int[] inputArray, int k) {
    int sum = 0;

    // 초기 합 계산
    for (int i = 0; i < k; i++) {
        sum += inputArray[i];
    }

    // 이후 합 계산
    int currentSum = sum;
    for (int i = k; i < inputArray.Length; i++) {
        currentSum = currentSum - inputArray[i - k] + inputArray[i];
        sum = Math.Max(sum, currentSum);
    }

    return sum;
}
첫 번째 for 루프에서 초기 k 개의 요소의 합을 계산하고, 두 번째 for 루프에서는 한 요소씩 이동하면서 현재 합을 업데이트합니다.
728x90
반응형

'CodeSignal' 카테고리의 다른 글

digitDegree  (0) 2023.12.30
longestDigitsPrefix  (1) 2023.12.30
growingPlant  (0) 2023.12.24
differentSymbolsNaive  (1) 2023.12.22
extractEachKth  (1) 2023.12.19