[프로그래머스/파이썬] Level 2 행렬의 곱셈
https://programmers.co.kr/learn/courses/30/lessons/12949
문제풀이
행렬의 곱셈법칙을 알아야 한다.
예시 2의 경우
[(2x5,3x2,2x3)(2x4,3x4,2x1)(2x3,3x1,2x1)],[],[]...식으로 구성된다.
즉, result[0][0]=arr1[0][0]xarr2[0][0] + arr1[0][1]xarr2[1][0] + arr1[0][2]xarr2[2][0]
result[0][1]=0,0x0,1 + 0,1x1,1 + 0,2x2,1
result[0][2]=0,0x0,2 + 0,1x1,2 + 0,2x2,2...와 같이 구할 수 있다.
해당 식에 따라 반복문을 구해주면 정답이다.
필요한 인덱스가 3개라 조금 헷갈렸던 문제이다.
소스코드
def solution(arr1, arr2):
result=[[0]*len(arr2[0]) for _ in range(len(arr1))]
#print(result)
for k in range(len(arr1)):
for i in range(len(arr2[0])):
for j in range(len(arr1[0])):
result[k][i]+=arr1[k][j]*arr2[j][i]
#print(result)
return result
Author And Source
이 문제에 관하여([프로그래머스/파이썬] Level 2 행렬의 곱셈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bye9/프로그래머스파이썬-Level-2-행렬의-곱셈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)