728x90
https://programmers.co.kr/learn/courses/30/lessons/12949
출처 : 프로그래머스
def solution(arr1, arr2):
answer = [[0 for _ in range(len(arr2[0]))] for _ in range(len(arr1))]
for i in range(len(arr1)): # 0, 1, 2
for j in range(len(arr2[0])): # 0, 1
for k in range(len(arr1[0])): # 0, 1
answer[i][j] += arr1[i][k] * arr2[k][j]
return answer
풀이 1
for 문을 3번 써서 풀이했다.
def solution(arr1, arr2):
return [[sum(a*b for a,b in zip(ROW,COL)) for COL in zip(*arr2)] for ROW in arr1 ]
풀이 2
zip 을 활용해 풀이하는 방법이다.
numpy 에서 np.array 로 바꿔서 a*b 해도 된다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 다음 큰 숫자 python (0) | 2022.04.17 |
---|---|
[프로그래머스] 124 나라의 숫자 (0) | 2022.04.14 |
[프로그래머스] H-Index python (*) (0) | 2022.04.13 |
[프로그래머스] 게임 맵 최단거리 python (0) | 2022.04.12 |
[프로그래머스] 짝지어 제거하기 python (*) (0) | 2022.04.12 |