[Leetcode] 1588. Sum of All Odd Length Subarrays (JS)

OROSY·2021년 5월 17일
0

Algorithms

목록 보기
23/38
post-thumbnail

출처

1588. Sum of All Odd Length Subarrays

문제

몇날 몇일을 고민하고 고민해봤지만, 도저히 풀 수 없는 알고리즘을 접하게 되었다. 솔직히 최근 들어 풀고 있는 알고리즘이 쉽지 않다보니 알고리즘에 대한 흥미를 점점 잃고 있는 느낌이다. 문제를 접할 때마다 나 자신에 대한 실망감을 도저히 참을 수가 없어서 고민이 많은 요즘이다.

그러나 절망과 고민만을 할 수는 없기에 문제를 직접 풀 순 없더라도 다른 코드를 보며, 로직을 이해하는 정도만이라도 도움이 되지 않을까 싶어서 글을 쓰게 되었다.

참조 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
var sumOddLengthSubarrays = function(arr) {
  let count = 0;
  for (let i = 0; i < arr.length; i++) {
    for (let j = i; j < arr.length; j++) {
      if ((i - j) % 2 === 0) {
        for (let k = i; k <= j; k++) {
          count += arr[k]
        }
      }
    }
  }    
  return count;
};
cs

실제로 어려운 명령어는 전혀 없지만, 오히려 다 알지만 너무 많은 반복문과 변수가 얽히고 섥혀있는 코드라 현재까지 봤던 모든 코드 중에 가장 이해가 가지 않는다. 그래도 다른 코드들은 보고 난 후에 몇 분 안에는 이해를 하고 아쉬웠다는 생각이 들었는데 말이다.

일단, 여러 번 반복해서 보면서 로직을 이해하는 수밖에 없을 것 같다. 그리고 추가적으로 JavaScript의 알고리즘을 udemy 강의를 통해 공부해보는 것도 좋은 방법이 될 수 있겠다는 생각이 들었다.

실행 결과

profile
Life is a matter of a direction not a speed.

0개의 댓글