https://programmers.co.kr/learn/courses/30/lessons/12949
function solution(arr1, arr2) {
let arr1_x = arr1.length;
let arr1_y = arr1[0].length;
let arr2_y = arr2[0].length;
// let answer = new Array(arr1_x).fill(new Array(arr2_y).fill(0));
let answer = [];
for (let i = 0; i < arr1_x; i++) {
answer.push(new Array(arr2_y).fill(0));
}
console.log(answer);
for (let i = 0; i < arr1_x; i++) {
for (let j = 0; j < arr2_y; j++) {
for (let k = 0; k < arr1_y; k++) {
answer[i][j] = answer[i][j] + arr1[i][k] * arr2[k][j];
}
}
}
return answer;
}
let arr1 = [[1, 4], [3, 2], [4, 1]];
let arr2 = [[3, 3], [3, 3]];
console.log(solution(arr1, arr2));
두 행렬의 곱을 구하는 문제다.
행렬의 곱셈법은 위키백과에서 다시 찾아보았다... ;
좀 해맷던게 answer를 초기화할때 처음에 주석한 것처럼 했는데 저렇게 했을 때는 오답이 나왓지만 반복문을 통해 하니까 정답이 나왔다.
무슨 차이인지 잘 모르겠는데,,, 추후에 더 찾아봐야할거 같다.