행렬의 덧셈

Kingmo·2022년 4월 7일
0
  • 문제 설명
    행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]
  • 풀이

    없는 배열에 값을 할당하려 하면 undefined를 내뱉으며 들어가지 않는다.

    따라서 배열이 존재하지않으면 배열을 선언해 주는 과정이 필요하다.

function solution(arr1, arr2) {
  const answer = [[], []];
  for (let i = 0; i < arr1.length; i++) {
    for (let l = 0; l < arr1[i].length; l++) {
      const sum = arr1[i][l] + arr2[i][l];

      if (answer[i] === undefined) {
        answer[i] = [];
      }
      answer[i][l] = sum;
    }
  }
  return answer;
}
  • code refactoring
function solution(arr1, arr2) {
    const answer = arr1.map( (num1, i) => {
        const result = num1.map( (num2, l) => {
            return num2 + arr2[i][l]
        })
        return result
    })
    return answer
}
  • 다른 풀이
function solution(arr1, arr2) {
  return arr1.map((el, i) => el.map((el, j) => el + arr2[i][j]));
}
profile
Developer

0개의 댓글