728x90
https://programmers.co.kr/learn/courses/30/lessons/12949
접근
행렬을 곱하기 위해서는 행렬 A와 B가 있을 때 행렬 A의 열 개수와 행렬 B의 행 개수가 같아야 한다.
그리고 행렬의 곱을 그대로 코드로 구현하였다.
구현
- arr2의 행과 열의 개수를 N과 M에 저장했다.
- 이제 arr1에서 하나의 리스트를 꺼낸다.
- arr2를 탐색하면서 arr1에서 꺼낸 리스트의 숫자들을 행렬 곱을 해주고 이를 ans에 저장한다.
- 모두 탐색한 후에는 ans를 answer에 추가한다.
def solution(arr1, arr2):
answer = []
N = len(arr2)
M = len(arr2[0])
for numbers in arr1:
K = len(numbers)
ans = []
for i in range(M):
idx = 0
total = 0
for j in range(N):
total += numbers[idx] * arr2[j][i]
idx += 1
ans.append(total)
answer.append(ans)
return answer
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level 1] 예산 (0) | 2021.11.09 |
---|---|
[Level 2] 배달 (0) | 2021.11.08 |
[Level 2] 2개 이하로 다른 비트 (0) | 2021.09.27 |
[Level 2] 압축 (0) | 2021.09.23 |
[Level 2] 쿼드압축 후 개수 세기 (0) | 2021.09.15 |