단의 개발 블로그

행렬의 곱셈 본문

Algorithm/PYTHON

행렬의 곱셈

danso 2024. 9. 9. 20:22

💡 문제

2차원 행렬 arr1 arr2 입력받아, arr1 arr2 곱한 결과를 반환하는 함수, solution 완성해주세요.

💡 제한사항

  • 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
  • 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
  • 곱할  있는 배열만 주어집니다.

입출력 예

 

 풀이

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

수학이 어렵다. 행렬 곱셈은 행렬 A의 행과 행렬 B의 열을 곱한다. 3중 반복문을 사용해서 해당 인덱스에 접근해서 계산했다.

 

'Algorithm > PYTHON' 카테고리의 다른 글

H-Index  (0) 2024.09.13
의상  (0) 2024.09.13
n^2 배열 자르기  (0) 2024.09.09
괄호 회전하기  (0) 2024.09.05
연속 부분 수열 합의 개수  (0) 2024.09.05