class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int xLength = arr1.length;
int yLength = arr1[0].length;
int[][] answer = new int[xLength][yLength];
for (int i = 0; i < xLength; i++) {
for (int j = 0; j < yLength; j++) {
answer[i][j]=arr1[i][j]+arr2[i][j];
}
}
return answer;
}
}
이번 문제에서는 어떻게 하면 실행 속도가 빨라질 수 있는지에 대해 고민해본 것 같다. int xLength=arr1.length;와 같이 미리 변수에 length값을 넣고 실행시켰을 때와 변수에 해당 길이값을 저장시키지 않고 바로 적용시켰을 때와 실행속도를 비교해보았다.
결과적으로는, 이 문제에서는 미리 변수에 length를 계산한 값을 넣고 그 변수를 활용하는 것이 더 실행결과가 빨랐다. (물론 얼마 차이는 나지 않았지만..ㅎ) 이유는 length 연산이 변수에 초기값으로 대입될때 1번 이루어지지만, 바로 적용할 경우 여러번 이루어지기 때문인 것 같다는 생각을 했다. 코드를 작성할 때 단순하게 옳은 결과값을 출력하기 위해 고민하는 것이 아니라, 효율적인 코드를 짜기 위한 노력을 해야한다고 생각한다. 오늘은 그것의 첫번째 발걸음을 뗀 것 같다 :)