DevKim

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

알고리즘 PS

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

on_doing 2021. 2. 11. 20:52
728x90

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

[ 알고리즘 ]

구현

 

[문제 접근]

행렬의 곱을 할 줄 아는 사람이라면 어떻게 구할지는 빠르게 생각났을 문제.

하지만 3중 for문을 사용해서 이중 리스트에 넣는 과정이 헷갈릴 수는 있겠다

 

 

[코드]

def solution(arr1, arr2):
    
    x1=len(arr1) #행
    x2=len(arr1[0]) #열
    
    y1=len(arr2) #행
    y2=len(arr2[0]) #열
    
    answer = [[] for i in range(x1)]
    
    for k in range(x1):
        a=arr1[k]
        for i in range(y2):
            result=0
            for j in range(x2):
                result+=arr1[k][j]*arr2[j][i] 

            answer[k].append(result)
            
    return answer
728x90
Comments