2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
arr1 | arr2 | return |
---|---|---|
[[1, 4], [3, 2], [4, 1]] | [[3, 3], [3, 3]] | [[15, 15], [15, 15], [15, 15]] |
[[2, 3, 2], [4, 2, 4], [3, 1, 4]] | [[5, 4, 3], [2, 4, 1], [3, 1, 1]] | [[22, 22, 11], [36, 28, 18], [29, 20, 14]] |
# 리스트 원소들 곱해주는 함수
def mul (list1, list2):
list3=[]
for i in range(len(list1)):
list3.append(list1[i]*list2[i])
return list3
def solution(arr1, arr2):
arr2=[list(i) for i in zip(*arr2)]
answer = []
for i in range(len(arr1)):
tmp=[]
for j in range(len(arr2)):
tmp.append(sum(mul(arr1[i],arr2[j])))
answer.append(tmp)
return answer
def productMatrix(A, B):
answer = []
for y1 in range(len(A)):
a=[]
for x2 in range(len(B[0])):
n = 0
for x1 in range(len(A[0])):
n += A[y1][x1] * B[x1][x2]
a.append(n)
answer.append(a)
return answer
직관적으로 행렬 곱을 나타내주는 느낌!
면접 때문에 한동안 못풀다가 다시 시작!!
출처: 프로그래머스
오류가 있으면 댓글 달아주세요🙂