본문 바로가기
Programming/Programmers

[프로그래머스] 행렬의 곱셈 (Python)

by 데이터현 2021. 11. 7.

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):
    arr3 = [[0]*len(arr2) for _ in range(len(arr2[0]))]
    for i in range(len(arr3)):
        for j in range(len(arr3[0])):
            arr3[i][j] = arr2[j][i]
    answer = [[0]*len(arr2[0]) for _ in range(len(arr1))]
    for i in range(len(answer)):
        for j in range(len(answer[0])):
            num = 0
            for a,b in zip(arr1[i],arr3[j]):
                num += a*b
            answer[i][j] = num
    return answer

 

댓글