
프로그래머스 - 행렬의 곱셈
난이도 : Level 2
정답률: 63%
▶ 문제

▶ 풀이
풀기 위해선 먼저 행렬의 곱셈법을 알아야 한다. (WikiPidia)
행렬 곱셈 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 행렬 곱셈을 위해선 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 첫째 행렬의 행 갯수와 둘째 행렬의 열
ko.wikipedia.org

result[0, 0] = ( arr1[0, 0] * arr2[0, 0] ) + ( arr1[0, 1] * arr2[1, 0] ) + ( arr1[0, 2] * arr2[2, 0] )
즉,
arr1 = [[2, 3, 2], [4, 2, 4], [3, 1, 4]]
aar2 = [[5, 4, 3], [2, 4, 1], [3, 1, 1]]
일 때,
result[0, 0] 의 값은 (2 * 5) + (3 * 2) + (2 * 3) = 22 이고
result[0, 1] 의 값은 (2 * 4) + (3 * 4) + (2 * 1) = 22 이다.
풀이
function solution(arr1, arr2) {
const answer = [];
for(let i = 0; i < arr1.length; i++) {
let result = [];
for(let j = 0; j < arr2[0].length; j++) {
let num = 0;
for(let k = 0; k < arr2.length; k++) {
num += arr1[i][k] * arr2[k][j];
}
result.push(num);
}
answer.push(result);
}
return answer;
}
'코테' 카테고리의 다른 글
| [Algorithm] H-Index - JavaScript (0) | 2024.02.21 |
|---|---|
| [Git] 백준 / 프로그래머스 Git 연동 (0) | 2024.01.24 |
| [Algorithm] 괄호 회전하기 - JavaScript (1) | 2024.01.23 |
| [Algorithm] 짝 지어 제거하기- JavaScript (0) | 2024.01.22 |
| [Algorithm] 요격 시스템 - JavaScript (0) | 2024.01.22 |