programmers- lv.2 (행렬의 곱셈)

이예송·2023년 8월 3일

PS

목록 보기
75/97

문제링크: 행렬의 곱셈

✍🏻 Information

content
언어python
난이도⭐️⭐️
풀이시간23분
제출횟수3
인터넷검색유무yes




🍒 My Code

def solution(arr1, arr2):
    answer = []    
    for i in range(len(arr1)):
        tmplist=[]
        for j in range(len(arr2[0])):
            multiply = [m[j] for m in arr2]
            tmp = 0
            for k in range(len(arr1[0])):
                tmp+=arr1[i][k]*multiply[k]
            tmplist.append(tmp)
        answer.append(tmplist)
    return answer




💡 What I learned

  • 행렬곱셈하는 법을 까먹어서 찾아봤다.

  • 2차원 배열에서 특정 열 추출

1) inline for loop 방법 - 내가 사용한 방법

b = [i[원하는_column] for i in a]

2) zip 이용

b = list(zip(*a))[원하는_column]
  • 내 코드를 간단하게
return [[sum(a*b for a, b in zip(A_row,B_col)) for B_col in zip(*B)] for A_row in A]

0개의 댓글