https://programmers.co.kr/learn/courses/30/lessons/12949
//행렬의 곱셈
function solution(arr1, arr2) {
var answer = [];
var row1 = arr1.length;
var col1 = arr1[0].length;
var col2 = arr2[0].length;
for(var s=0; s<row1; s++){
answer.push([]);
for(var x=0; x<col2; x++){
answer[s].push(0);
}
}
for(var i=0; i<row1; i++) {
for(var j=0; j<col2; j++) {
for(var k=0; k<col1; k++) {
answer[i][j] = answer[i][j] + arr1[i][k] * arr2[k][j];
}
}
}
return answer;
}
다른사람의 풀이
function solution(arr1, arr2) {
return Array(arr1.length).fill()
.map((r, i) => Array(arr2[0].length).fill()
.map((v, j) => arr1[i].reduce((a, c, k) => a + c * arr2[k][j], 0)))
}
행렬 문제만 나오면 모르겠다.. 인덱스를 따지는 게 너무 어려움.
풀이 찾아보면 보통 map+map의 index로 해결
=> 결국 반복문으로 풀 수 있어야!
엄청..오래걸림
프로그래머스 Lv1 행렬의 덧셈