https://school.programmers.co.kr/learn/courses/30/lessons/12949
function solution(arr1, arr2) {
let result = [];
for(let i = 0; i < arr1.length; i++){
let newResult = [];
for(let j = 0; j < arr2[0].length; j++){
let flag = 0;
for(let z = 0; z < arr2.length; z++){
flag += arr1[i][z] * arr2[z][j];
}
newResult.push(flag);
}
result.push(newResult);
}
return result;
}
문제 풀기에 앞서.. 행렬의 곱셈에 대해서 알아야 했습니다.
(복잡한 사진..) 코드를 바탕으로 사진을 보면, 빨주노, 초파보, 찐파갈회 색이 세트입니다.
arr1[0][0] arr2[0][0] => 2 5 = 10
arr1[0][1] arr2[1][0] => 3 2 = 6
arr1[0][2] arr2[2][0] => 2 3 = 6
따라서 10 + 6 + 6, result [[22]] 가 들어갑니다.
arr1[0][0] arr2[0][1] => 2 4 = 8
arr1[0][1] arr2[1][1] => 3 4 = 12
arr1[0][2] arr2[2][1] => 2 1 => 2
따라서 8 + 12 + 2, result[[22, 22]] 가 됩니다.
arr1[0][0] arr2[0][2] => 2 3 = 6
arr1[0][1] arr2[1][2] => 3 1 = 3
arr1[0][2] arr2[2][2] => 2 1 = 2
따라서 6 + 3 + 2, result[[22, 22, 11]]이 들어갑니다.
위와 같이 반복해서 result값을 만들어 출력하면 됩니다.