1. 문제
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
제한사항
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예
arr1 | arr2 | return |
[[1, 4], [3, 2], [4, 1]] | [[3, 3], [3, 3]] | [[15, 15], [15, 15], [15, 15]] |
[[2, 3, 2], [4, 2, 4], [3, 1, 4]] | [[5, 4, 3], [2, 4, 1], [3, 1, 1]] | [[22, 22, 11], [36, 28, 18], [29, 20, 14]] |
2. 정답 풀이
풀이 전략
- 행렬곱 계산 방법대로 로직 작성
- m x r, r x n 행렬을 곱하면 m x n 행렬 리턴
function solution(arr1, arr2) {
let result = [];
for(let i=0; i<arr1.length; i++) {
const temp = [];
for(let j=0; j<arr2[0].length; j++) {
let num = 0;
for(let k=0; k<arr1[0].length; k++) {
num += arr1[i][k] * arr2[k][j];
}
temp.push(num)
}
result.push(temp)
}
return result;
}
'코딩 테스트 > 프로그래머스(LV2)' 카테고리의 다른 글
[프로그래머스] 기능개발 (LV2 - JavaScript) (3) | 2024.11.13 |
---|---|
[프로그래머스] [1차] 캐시 (LV2 - JavaScript) (6) | 2024.11.12 |
[프로그래머스] 할인 행사 (LV2 - JavaScript) (2) | 2024.11.10 |
[프로그래머스] n^2 배열 자르기 (LV2 - JavaScript) (2) | 2024.11.10 |
[프로그래머스] 멀리 뛰기 (LV2 - JavaScript) (1) | 2024.11.09 |