본문 바로가기

Algorithm/Code Fights (Code Signal)

Aracade Intro #37 arrayMaxConsecutiveSum. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

Aracade Intro #37 arrayMaxConsecutiveSum. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar



Q.


 Given array of integers, find the maximal possible sum of some of its k consecutive elements.


 주어진 정수에서 길이값 k 의 수만큼 연속된 길이의 내용물들의 합 최대값을 구하여라



e.g.


Input -> inputArray = [2, 3, 5, 1, 6] and k = 2


Output -> arrayMaxConsecutiveSum(inputArray, k) = 8


All possible sums of 2 consecutive elements are:


2 + 3 = 5;

3 + 5 = 8;

5 + 1 = 6;

1 + 6 = 7.


Thus, the answer is 8.


k = 2 이므로 두개씩 묶어서, 최대값




// Process

// 1. Input integer vector and k

// 2. Iterate from begin to end-(k-1)

//  2.1. check if sum of i to i+k is bigger than answer sum

//   2.1.1. if so - swap sum

//   2.1.2. if not = pass

// 3. Return sum

// 


//처리과정

//1. 정수배열과 묶을 길이 k 값을 입력받는다.

//2. 시작부터 끝-k-1 까지 반복한다.

// 2.1. 기존 sum이 i 부터 k 길이까지의 합보다 작으면

//  2.1.1. sum을 바꾼다.

//3. sum을 반환한다.




Code.. Lemme see code!!!!!


코드.. 코드를 보자!!!!!




int arrayMaxConsecutiveSum(std::vector<int> inputArray, int k) {


    int answer = 0;

    

    vector<int>::iterator inputArray_Iter = inputArray.begin();

    int sum = 0;

    while (inputArray_Iter < inputArray.end() - (k-1)) 

    {

        if (inputArray_Iter == inputArray.begin()) 

        {

            for (int i = 0; i < k; ++i) 

            {

                sum += *(inputArray_Iter + i);

            }

        }

        else

        {

            sum -= *(inputArray_Iter - 1);

            sum += *(inputArray_Iter + (k-1));

        }

        if (sum > answer) 

        {

            answer = sum;

        }

        ++inputArray_Iter;

    }

    return answer;

}





Something else you might like..




2018/12/10 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #36 differentSymbolsNaive. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

2018/11/29 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #35 firstDigit. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

2018/11/29 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #35 firstDigit. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

2018/11/26 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #34 extractEachKth. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar



2018/11/28 - [Programming/Image Processing] - OpenCV How to get min/max value from matrix, 매트릭스 최소값/최대값. Java,c++,cpp,imageprocessing

2018/11/28 - [Programming/Image Processing] - OpenCV How to handle single channel image matrix each pixel, add/subtract/multiply/division (1), 이미지 매트릭스 각 픽셀단위 값 조정하기 (영상처리, image processing) (1)



2018/11/27 - [Programming/Image Processing] - OpenCV Java complexNumber mat conjugation, 자바 켤레복소수 example code 예제코드

2018/11/26 - [Programming/Java] - Arithmetic of complex number(2) division example code, 복소수 사칙연산(2) 나눗셈 코드, real/imaginary, java, opencv, matrix (2)



2018/12/04 - [Life/Health care] - Magnesium 마그네슘 usage/side effects/dosage 용법/효능/부작용

2018/12/03 - [Life/Health care] - Lecithin 레시틴 usage/side effects/dosage 효능/부작용/용법

2018/12/02 - [Life/Health care] - Maca 마카 usage/side effects/dosage 효능/부작용/용법

2018/11/29 - [Life/Health care] - L-Arginine 아르기닌 usage/side effects/dosage 효능/부작용/성인,소아 용법