-
프로그래머스 Lv.2) 행렬의 곱셈알고리즘/프로그래머스 2020. 5. 21. 16:48반응형
행렬의 곱셈
풀이
행렬의 곱셈에 대해 배열의 곱셈이라고 이해하고 문제이해를 5분정도 못했다... ㅎㅎㅎㅎ
아무튼 행렬의 곱셈을 구글링해서 곱셈법을 다시 배웠다.. ㅠㅠ
1. 배열 arr1과 arr2를 통해 답이되는 answer 배열을 만들어 준다.
1-1. 이때 크기는 arr1의 행, arr2의 열이 된다. (행렬의 연산 특징)
2. 각각 배열의 idx에 대해 행렬 곱셈식을 구해 더해준다.
코드
class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr1.length][arr2[0].length]; for(int i=0; i<answer.length; i++) { // 행 for(int j=0; j<answer[i].length; j++) { // 열 //answer[i][j] = arr1은 행이 i, arr2는 열이 j, 움직이는거는 둘이 공통되는 부분의 길이 for(int idx =0; idx<arr1[i].length; idx++) { answer[i][j] += arr1[i][idx] * arr2[idx][j]; } } } return answer; } }
반응형'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 Lv.2) 예상 대진표 (0) 2020.05.22 프로그래머스 Lv.2) 숫자의 표현 (0) 2020.05.21 프로그래머스 Lv.2) 최댓값과 최솟값 (0) 2020.05.21 프로그래머스 Lv.2) 피보나치 수 (0) 2020.05.21 프로그래머스 Lv.2) 올바른 괄호 짝지어 제거하기 (0) 2020.05.21