[js] 행렬의 덧셈_Addition Of Matrixs
[문제 설명]
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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 solution(arr1, arr2) {
var answer = [];
for (var i=0; i<arr1.length; i++){
let step1 = [];
for (var j=0; j<arr1[i].length; j++){
step1.push(arr1[i][j] + arr2[i][j]);
}
answer.push(step1);
}
return answer;
}
[해설]
1차원 배열 answer 생성 후, for문 안에 1차원 배열 step1 생성 (2차원 배열이 될 수 있도록)
2중 for문으로 step1에 한 줄씩 더한 값을 추가
answer에 step1을 하나씩 넣으면 최종적으로 얻고자 하는 2차원 배열을 얻을 수 있습니다.
[다른 사람 풀이]
function sumMatrix(A,B){
return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
map 함수와 화살표 함수를 활용하여 코드를 간략하게 구현하였습니다.
*.map()
배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다.
[느낀점]
배열의 각각 요소에 대한 문제에서는 map 함수를 활용하면 코드를 깔끔하게 작성할 수 있다.
[github] - AdditionOfMatrixs.js
https://github.com/yh725k/javascript.git
GitHub - yh725k/javascript
Contribute to yh725k/javascript development by creating an account on GitHub.
github.com