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 |