코린이의 소소한 공부노트

[LeetCode/Easy] 1588. Sum of All Odd Length Subarrays 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1588. Sum of All Odd Length Subarrays

무지맘 2023. 4. 13. 15:51

1. Input

1) int[] arr

 

2. Output

1) arr에서 구할 수 있는 모든 부분 배열 중 그 길이가 홀수인 것의 요소의 총합을 반환

 

3. Constraint

1) 1 <= arr.length <= 100

2) 1 <= arr[i] <= 1000

3) 부분 배열은 연속적이어야 한다.

 

4. Example

Input: arr = [1,4,2,5,3] -> Output: 58

설명: 부분 배열의 길이가 홀수인 것을 모두 구한다.

- 길이가 1 -> [1] = 1   [4] = 4   [2] = 2   [5] = 5   [3] = 3

- 길이가 3 -> [1,4,2] = 7   [4,2,5] = 11   [2,5,3] = 10

- 길이가 5 -> [1,4,2,5,3] = 15

- 따라서 총합인 58을 반환한다.

 

5. Code

1) 첫 코드(2023/04/13)

int sum = 0;
for(int l=1 ; l<=arr.length ; l+=2){
    for(int i=0 ; i<arr.length-l+1 ; i++){
        for(int j=i ; j<i+l ; j++)
            sum += arr[j];
    }
}
return sum;