프로그래밍 이야기/파이썬 코딩 테스트 스터디

파이썬 코딩테스트 스터디 2주차 #6 - 문제 05 행렬의 곱

hoony926 2024. 6. 24. 21:33

문제 05 행렬의 곱셈

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

 

 

def solution(arr1, arr2):
    answer = [[]]
    
    r1, c1 = len(arr1), len(arr1[0])
    r2, c2 = len(arr2), len(arr2[0])
 
    answer = [[0]*c2 for _ in range(r1)]
             # C2 길이의 0을 가진 배열만큼 r1행
     
    for i in range(r1):
        for j in range(c2):
            # 두 행렬의 데이터를 곱해 결과 리스트에 더해줌
            for k in range(c1):
                answer[i][j] += arr1[i][k]*arr2[k][j]
                                
                                
    return answer

 

 

answer = [[0]*c2 for _ in range(r1)]

이 부분은 아래 추가로 예시를 몇개 더 써봤다.

 

 

아래 부분은 행렬 곱셈할때 그냥 외워서 써야할듯하다.

    for k in range(c1):
                answer[i][j] += arr1[i][k]*arr2[k][j]