행렬의 덧셈 (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]]))
맵을 이중으로 써서 새로운 배열을 만든다.
익히면 좋을듯한 테크닉