본문 바로가기

Algorithm/Brute Force

(C++) - LeetCode (easy) 1588. Sum of All Odd Length Subarrays

반응형

https://leetcode.com/problems/sum-of-all-odd-length-subarrays/description/

전수조사 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 변수 ans를 선언 후 0으로 초기화해줍니다.

📔 풀이과정

1. 1, 3, 5.. 순으로 loop를 수행하며 홀수개의 배열 길이 len에 대해 subarray의 범위를 구해줍니다.

2. subarray의 원소 합을 구해 sum에 누적해 더해줍니다.

3. ans에 sum값을 더해줍니다.

📔 정답 출력 | 반환

ans를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int sumOddLengthSubarrays(vector<int>& arr) {
        int ans = 0;
        for (int len = 1; len <= arr.size(); len+=2) {
            for (int start = 0; start <= arr.size() - len; start++) {
                int sum = 0;
                for (int i = start; i < start + len; i++) {
                    sum += arr[i];
                }
                ans += sum;
            }
        }
        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.