행렬의 덧셈 (Level 1)

문제

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

예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.)

풀이

function sumMatrix(A,B){
    var result = [];
    for(var i = 0; i < A.length; i++){
        result[i] = [];
            for(var j = 0; j < A[i].length; j++){
                result[i][j] = A[i][j] + B[i][j];
            }
        }
    return result;
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]]))

배열 안에 A의 길이만큼 배열을 생성해 A,B의 합을 각각 할당

다른 사람의 풀이

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

// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]]))

맵을 이중으로 써서 새로운 배열을 만든다.

익히면 좋을듯한 테크닉


+ Recent posts