function solution(triangle) {
for(let i = 1; i < triangle.length; ++i) {
for(let j = 0; j < triangle[i].length; ++j) {
if(j === 0) triangle[i][j] += triangle[i - 1][0];
else if(j === triangle[i].length - 1) triangle[i][j] += triangle[i - 1][j - 1];
else triangle[i][j] += Math.max(triangle[i - 1][j - 1], triangle[i - 1][j])
}
}
return Math.max(...triangle[triangle.length - 1]);
}

레벨 3 문제치고는 쉬웠다.
위에서 아래로 내려가면서 더해주는 원리인데, 가장자리(처음, 마지막)에 있는 원소들은 두 가지 숫자를 고를 수 없이 바로 위에 있는 애들을 더해주어야 하고, 중간에 있는 원소들은 위에 두 수 중에 최댓값을 더해주면 된다.
가장 위에 있는 원소는 더해질 필요가 없으니 두번째 라인부터 반복분을 진행하면서 위에있는 원소를 더해주는 작업을 한다. 이때 앞서 말한 규칙대로 더해준다.
마지막으로 리턴할 때 가장 밑에 있는 배열의 최댓값을 구해서 리턴해주면된다.
