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 강의를 통해 공부해보는 것도 좋은 방법이 될 수 있겠다는 생각이 들었다.