문제풀기
행열의 덧셈
두유콩
2019. 9. 17. 15:44
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
arr1arr2return
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
처음에 코드를 작성하고 테스트케이스를 돌려보았지만 계속 ArrayIndexOutOfBoundsException 이 떴다.
그 코드는 아래와 같다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2){
int [][] answer = new int [arr1.length][arr1.length];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1.length; j++) {
answer[i][j] = arr1[i][j]+arr2[i][j];
}
}
return answer;
}
}
왜 계속 배열의 길이에 오류가 뜨는지 생각하다가 결국 검색해서 찾아보았는데,
배열의 길이설정에 오류가 있었다.
그래서 아래와 같이 수정을 하여 돌렸더니 됐다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2){
int [][] answer = new int [arr1.length][arr1[0].length];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
answer[i][j] = arr1[i][j]+arr2[i][j];
}
}
return answer;
}
}