나는 문과인이기 때문에, 행렬의 개념부터 막혔다... 행렬의 덧셈 문제는 문제만 이해해도 풀 수 있는 문제였지만, 행렬의 곱셈같은 경우 개념을 모르면 이해조차 할 수 없는 문제였기 때문에 유튜브에서 행렬의 곱셈을 공부했다. 챰나 내가 이과였는지... 이러고 있을줄 알었나💩 어쩌겠냐 내가 선택한 길인데~
사실 인덱스 지정해주는게 너무 어려워서, 답을 참고했다. 이문제를 통해 인덱스 지정하는 방법을 배우자! 복잡한 인덱스라도, 고정할 것과 변경할 것을 잘 생각하면서 풀면 된다. map을 활용해서 한줄로 푼 해설도 있어서 가져왔다. 복습하면서 같이 이해하자!
function solution(arr1, arr2) {
const answer=Array.from(Array(arr1.length), ()=>Array(arr2[0].length).fill(0));
for(let i=0; i<arr1.length; i++){
for(let j=0; j<arr2[0].length; j++){
for(let k=0; k<arr1[0].length; k++){
answer[i][j]+=arr1[i][k]*arr2[k][j];
}
}
}
return answer;
}
function solution(arr1, arr2) {
return arr1.map((row) => arr2[0].map((x,y) => row.reduce((a,b,c) => a + b * arr2[c][y], 0)))
}
10/27
행렬의 곱셈 개념 이해하고, 인덱스 사용하는 것 연습하기