[アルゴリズム/Programmers]行列の加算

7126 ワード

問題の説明


行列の加算は、2つの同じ行列の同じ行、同じ列の値を加算した結果です.2つのマトリクスarr 1とarr 2を入力し、
行列加算結果の関数を返します.解を完了してください.

せいげんじょうけん


行列arr 1、arr 2の行および列の長さは500を超えない.

I/O例



この問題は他人の解答の内容を学んだ.
1.空の配列を宣言し、計算された配列をその配列にプッシュします.
function solution(arr1, arr2) {
    var answer = [];
    
    for(let i = 0; i<arr1.length; i++){
        let newArr = []; // 이 배열은 아래에 추가 하면 안된다 ---> 왜?
      // 아래에서 돌게 될 경우 newArr =[]이 계속 빈 배열이 되기때문에 마지막 값만 남아서
      // 위에서 새 배열을 만들어 준 다음 각 배열의 length 만큼 돌게되는동안 push가 되고
      // 다 돌고 난 뒤 새 배열에 push 해준다.
      // 처음에는 아래애 넣어서 오류났다 ㅎㅎ..
      
        for(let k = 0; k<arr1[i].length; k++){
            newArr.push(arr1[i][k] + arr2[i][k] )
        } answer.push(newArr)
    }    
    return answer;
}
2.mapで解く(プログラマーが解く)
function solution(arr1, arr2) {
return arr1.map((a,i) => a.map((b, j) => b + arr2[i][j]));
}
for文で解読したコードがこんなに簡潔に書けるなんて...
この接着剤を見て、地図を勉強し直しました.
どのようにして解けたのか再確認しました.
mapについてもっと勉強しなさい
Array()
let fruits = Array(2)
console.log(fruits) // [empty × 2]
-
fruits[0] = 1
console.log(fruits) // [1, empty]
初対面の方法
Arrayで数字を並べて、その中に入れる形のようです.
map
array.map((a,b) => )
배열.map((요소, 인덱스) =>  return 요소 )
aはパラメータ、bはindex
これまではパラメータのみを書く方式を使っていましたが、indexも
使い方がわかった.
配列も使用されている部分もあります.
MDN MAP説明