[アルゴリズム/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説明
Reference
この問題について([アルゴリズム/Programmers]行列の加算), 我々は、より多くの情報をここで見つけました https://velog.io/@sssssssssy/알고리즘Programmers-행렬의-덧셈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol