행렬의 덧셈

문제 풀러가기

문제 설명

  행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수 solution을 완성해주세요.


제한 조건

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예시

arr1 arr2 return
[[1, 2], [2, 3]] [[3, 4], [5, 6]] [[4, 6], [7, 9]]
[[1], [2]] [[3], [4]] [[4], [6]]

코드

class Solution {
  public int[][] solution(int[][] arr1, int[][] arr2) {
    int n = arr1.length;
    int m = arr1[0].length;
    int[][] answer = new int[n][m]

    for(int i = 0; i < n; i++) {
      for(int j  = 0; j < m; j++) {
        answer[i][j] = arr1[i][j] + arr2[i][j];
      }
    }

    return answer;
  }
}

설명

  문제를 잘 읽어야 한다. 행과 열의 크기가 같은 행렬이 아니라 행렬 두 개의 행과 열의 크기가 서로 같다는 말이었다. 처음 잘못 이해하고 행과 열의 값을 동일하게 두고 문제를 푸니 테스트케이스 오류가 발생했었다. 다시 문제를 읽으면서 각 행과 열을 따로 두니 통과되었다.

  두 배열의 행열 크기가 같으므로 배열 arr1의 세로 인덱스 길이를 n, 가로 인덱스 길이를 m으로하여 반복문의 범위를 정하고 그 안에서 각 요소 값끼리 더해지도록 만들었다.