프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 12949번 행렬의 곱셈 풀이

개발윗미 2022. 5. 4. 20:11

Python으로 구현한 12949번 행렬의 곱셈 문제 풀이입니다.

 

https://programmers.co.kr/learn/courses/30/lessons/12949

 

코딩테스트 연습 - 행렬의 곱셈

[[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]]

programmers.co.kr


def solution(arr1, arr2) :
    row = len(arr1)
    col = len(arr2[0])

    answer = [[0] * col for _ in range(row)]
    for i in range(row) :
        for j in range(col) :
            for k in range(len(arr2)) :
                answer[i][j] += arr1[i][k] * arr2[k][j]

    return answer

 

1. arr1에 존재하는 하나의 열을 arr2에 존재하는 하나의 행을 곱하여 answer[i][j]에 누적한다.

 

2. 위와 같이 행렬의 곱셈 작업을 수행을 마친 후 최종적으로 answer를 반환한다.