📖 오늘의 학습 키워드
동적계획법
[정수 삼각형]
https://school.programmers.co.kr/learn/courses/30/lessons/43105
class Solution {
public int solution(int[][] triangle) {
int answer = 0;
for(int level = 1; level < triangle.length; level++){
triangle[level][0] += triangle[level-1][0];
triangle[level][triangle[level].length-1] += triangle[level-1][triangle[level-1].length-1];
for(int idx = 1; idx < triangle[level].length-1; idx++){
triangle[level][idx] += Math.max(triangle[level-1][idx-1], triangle[level-1][idx]);
}
}
for(int i = 0; i < triangle[triangle.length-1].length; i++) {
answer = Math.max(answer, triangle[triangle.length-1][i]);
}
return answer;
}
}
불필요한 연산을 포함하는 코드를 수정해서 실행 시간을 줄일 수 있었다. 앞으로는 테스트를 통과한 이후에도 실행 시간 단축을 위해 코드를 수정하고 발전해 나가야겠다.