SprintersSprinters

[프로그래머스] 행렬의 덧셈 | JavaScript

행렬의 덧셈

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]

코드


function solution1(arr1, arr2) {
  let answer = [];
  for (let i = 0; i < arr1.length; i++) {
    let empty = [];
    for (let j = 0; j < arr1[i].length; j++) {
      empty.push(arr1[i][j] + arr2[i][j]);
    }
    answer.push(empty);
  }

  return answer;
}

function solution2(arr1, arr2) {
  // #1 b : 3, 4, 5, 6
  // #2 b : 3, 4
  return arr1.map((a, i) => arr2[i].map((b, j) => b + arr1[i][j]));
}
  • js의 내장 객체인 배열 메서드를 사용하면 코드는 간결해지지만 개인적으론 solution1이 이해가 더 잘 되고 가독성이 좋은 것 같다. 배열 메서드를 자주 사용하다보면 달라질 수도..!

김병연 프로필 이미지

작성자

김병연

기록 128

안녕하세요, Sprinters를 만든 사람입니다.

댓글을 작성하려면 로그인이 필요합니다.

아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!