티스토리 뷰
728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/12949?language=python3
코드
def solution(arr1, arr2):
answer = [[0 for _ in range(len(arr2[0]))] for _ in range(len(arr1))]
for i in range(len(arr1)):
for j in range(len(arr2[0])):
result = 0
for k in range(len(arr1[0])):
answer[i][j] += (arr1[i][k] * arr2[k][j])
return answer
answer = [[0] * len(arr2[0])] * len(arr1) 이런식으로 answer을 선언했다가 안되어서 위에 방식으로 answer를 선언했다.
행렬은 arr1에 행이랑 arr2에 열이랑 곱하면 된다.
arr1은 행이고 arr1[0]은 열이다.
2 3 2 5 4 3 22 22 11
4 2 4 * 2 4 1 = 36 28 18
3 1 4 3 1 1 29 20 14
=> (2 * 5) + (3 * 2) + (2 * 3) = 22 ....
arr1의 1행당 arr2의 모든 열을 곱해주는데 arr1의 열의 인덱스 끼리 곱해준다.
행렬 곱셈은 3중 for문 메모..
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level2, 최솟값 만들기 (Python) (0) | 2021.06.08 |
---|---|
[프로그래머스] Level2, 숫자의 표현 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, JadenCase 문자열 만들기 (Python) (0) | 2021.06.06 |
[프로그래머스] Level2, 피보나치 수 (Python) (0) | 2021.06.05 |
[프로그래머스] Level2, 큰 수 만들기 (Python) (0) | 2021.06.05 |
댓글