문제
링크 : https://programmers.co.kr/learn/courses/30/lessons/12949
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
풀이
문제 설명만큼 간단한 쉬운 문제
그런데..왠지 못 풀겠다
어이어이 이 녀석 바보아니냐고.. 🙀
행렬 계산을 알고 있으면 풀 수 있는 문제
반복문 조건에 계산되는 요소가 영향받는 게 무엇인가 생각해야함(행렬의 열에 영향받느냐 행에 영향받느냐 등)
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| class Solution { int[][] solution(int[][] arr1, int[][] arr2) { int maxRow = Math.max( arr1.length, arr2.length); int maxCal = Math.max( arr1[0].length,arr2[0].length); int[][] answer = new int[arr1.length][arr2[0].length];
int result = 0;
for(int i=0;i<arr1.length;i++) { for(int j=0;j<arr2[0].length;j++) { result = 0; for(int k=0;k<arr1[0].length;k++) { result += arr1[i][k] * arr2[k][j]; } answer[i][j] = result; } } return answer; } }
|
메모
문제 자체는 간단한 문제 그러나 능지 이슈로 풀지 못함
스스로 풀었는가 : ❎