[프로그래머스] 행렬의 곱셈Lv.2

나의 풀이

def solution(arr1, arr2):
    answer = []
    for i in range(len(arr1)):
        result = []
        for j in range(len(arr2[0])):
            _sum = 0
            for k in range(len(arr1[i])):
                num_a = arr1[i][k]
                num_b = arr2[k][j]
                _sum += num_a * num_b
            result.append(_sum)
        answer.append(result)

    return answer
  • 행렬의 곱셈을 할 때 예를 들어 2 x 2 사이즈의 배열을 계산해야 한다면,
    A[0][0] * B[0][0] + A[0][1] * B[1][0] = result[0][0] 이런식으로 A는 값을 구하기 위해 행은 고정, 열을 움직여야 되고, B는 열은 고정, 행을 움직여 줘야 한다.

0개의 댓글