-
[프로그래머스] 행렬의 곱셈알고리즘 2023. 7. 18. 15:23728x90
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12949
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 접근
1. 행렬의 곱셈은 arr1의 열 * arr2의 행 의 값들을 모아서 더한 값이다.
행렬의 곱셈 예시 -> 결국에는 "시그마" 임을 알아야 한다
2. 그래서 2차원 for loop가 아니라 3차원 for loop가 되어야 문제를 풀 수 있다
3. 풀이
def solution(arr1, arr2): n = len(arr1) m = len(arr2[0]) b = len(arr2) ans = [[0]*(m) for _ in range(n)] for i in range(n): for j in range(m): for k in range(b): ans[i][j] += arr1[i][k] * arr2[k][j] return ans
'알고리즘' 카테고리의 다른 글
[ 알고리즘 TIP ] 2차원 배열 회전 (0) 2024.02.20 [프로그래머스] 수식 최대화 (0) 2023.07.21 [프로그래머스] 멀쩡한 사각형 (0) 2023.07.17 [프로그래머스] 이진 변환 반복하기 (0) 2023.07.17 [프로그래머스] 롤케이크 자르기 (0) 2023.07.13