[Programmers] 행렬의 곱셈 (Python3)

최대 1 분 소요

문제 설명

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

제한 조건

행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
곱할 수 있는 배열만 주어집니다.

입출력 예

1
2
3
4
5
6
7
8
9
10
11
arr1	                   	        
[[1, 4], [3, 2], [4, 1]]	   
[[2, 3, 2], [4, 2, 4], [3, 1, 4]]

arr2
[[3, 3], [3, 3]]
[[5, 4, 3], [2, 4, 1], [3, 1, 1]]

return
[[15, 15], [15, 15], [15, 15]]
[[22, 22, 11], [36, 28, 18], [29, 20, 14]]

코드

1
2
3
4
arr1 = [[1, 4]]  
arr2 = [[3],
        [3]]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def solution(arr1, arr2):
    
    result = []
    for x1 in range(len(arr1)):
        su2 = []
        for y2 in range(len(arr2[0])):
            su = []
            for y1 in range(len(arr1[0])):
                su.append(arr1[x1][y1]*arr2[y1][y2])
                print(su)
            su2.append(sum(su))
    
        result.append(su2)
            
    return result
1
solution(arr1, arr2)
1
2
3
4
5
6
7
8
[3]
[3, 12]





[[15]]

카테고리:

업데이트:

댓글남기기