본문 바로가기
IT/Javascript

행렬의 덧셈

by DOSGamer 2022. 7. 14.
반응형

문제

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

제한조건

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

풀이방향

  • 행렬 배열을 받아서 행끼리 합, 열끼리 합산 해준다

풀이

function sumMatrix(arr1, arr2) {
  let answer = [];
  arr1.forEach((row, i) => {
    answer[i] = [];
    row.forEach((col, j) => {
      answer[i][j] = arr1[i][j] + arr2[i][j];
    });
  });
  return answer;
}

export { sumMatrix };
import { sumMatrix } from "../src/sumMatrix";

describe("sumMatrix", () => {
  it("should return a sum array", () => {
    const arr1 = [
      [1, 2],
      [2, 3]
    ];
    const arr2 = [
      [3,4],
      [5,6]
    ];
    const answer = [
      [4,6],
      [7,9]
    ];
    expect(sumMatrix(arr1, arr2)).toEqual(answer);
  });

  it("should return a sum array", () => {
    const arr1 = [
      [1],
      [2]
    ];
    const arr2 = [
      [3],
      [4]
    ];
    const answer = [
      [4],
      [6]
    ];
    expect(sumMatrix(arr1, arr2)).toEqual(answer);
  });
});

출처

다른 풀이

function sumMatrix(A,B){
  return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
반응형

'IT > Javascript' 카테고리의 다른 글

Javascript 함수형 예제  (0) 2022.08.30
Javascript 객체 복사 (Object, Array)  (0) 2022.08.10
두 정수 사이의 합  (0) 2022.07.14
약수의 합  (0) 2022.07.14
수박수박수박수박수박수?  (0) 2022.07.14
문자열을 정수로 바꾸기  (0) 2022.07.14
비밀지도  (0) 2022.07.14
제일 작은 수 제거하기  (0) 2022.07.14