알고리즘문제

프로그래머스 > 행렬의 곱셈

단점이없어지고싶은개발자 2022. 10. 30. 17:19
반응형

 

function solution(arr1, arr2) {
    const newArr = [];
    
    for (let i = 0 ; i < arr1.length; i++) {
        const tempArr = [];
        for (let j = 0; j < arr2[0].length; j++) {
        //arr2[0]배열의 길이로 반환, 만약 arr2.length면, arr2전체 길이라 실패가 뜬다.
            let tempSum = 0;
            for (let k = 0; k < arr2.length; k++) {
                tempSum += arr1[i][k] * arr2[k][j];
            }
            tempArr.push(tempSum);
        }
        newArr.push(tempArr);
    }
    return newArr;
}

 

1. 이 문제는 행렬에 대해 알아야만 풀 수 있다.

2. 그래서 시간복답도는 O의 n³이지만, 행렬의 길이가 그렇게 길지 않아 풀 수 있었다.


https://mathbang.net/562

 

행렬의 곱셈, 행렬의 거듭제곱

행렬의 곱셈은 행렬의 실수배에 비하면 훨씬 어려워요. 행렬을 곱할 수 있는 조건이 있어 이 조건을 만족하지 않으면 곱셈을 하지 못하는 경우도 있어요. 게다가 계산방식도 매우 까다롭죠. 도

mathbang.net

 

반응형