다희의 코딩 성장일기
[프로그래머스] level2. 행렬의 곱셈 (자바 JAVA) 본문
[ 문제 ] [프로그래머스] level2. 행렬의 곱셈 (자바 JAVA)
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12949
# 접근 방법 및 풀이
- 내 머리가 돌인가 싶었던 문제..문제 보자마자 쉽다고 생각했는데 ^^..
- 일단 행렬의 곱셈을 정확히 이해해야한다. 처음엔 아무생각 없이 arr1[i][j] * arr2[i][j]라고 생각했는데 당연히 아니구요.
- 행렬 AxB가 있을때 A (3 X 2) B (2X4) 이면 AB = (3 X 4) 형태의 행렬이 만들어진다.
- 처음엔 for문 두개로 AB를 할 수 있을 줄 알았는데 범위 idx오류가 나서 for문 3개를 이용해서 풀었다.
- 자세한건 코드 참조
# 주의할 점
- 딱히 없음
JAVA 코드
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int answer[][] = new int[arr1.length][arr2[0].length];
for(int i = 0; i < arr1.length; i ++){
for(int j = 0; j < arr2[0].length; j++){
int copy[] = arr1[i];
int sum = 0;
for(int k = 0; k < copy.length; k++){
sum += copy[k]*arr2[k][j];
}
answer[i][j] = sum;
}
}
return answer;
}
}
REVIEW
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] level2. 124 나라의 숫자 (자바 JAVA) (0) | 2021.08.24 |
---|---|
[프로그래머스] level2. N개의 최소공배수 (자바 JAVA) (0) | 2021.08.24 |
[프로그래머스] level1. 실패율 (자바 JAVA) (0) | 2021.08.24 |
[프로그래머스] level1. 약수의 개수와 덧셈 (자바 JAVA) (0) | 2021.08.23 |
[프로그래머스] level1. 음양 더하기 (자바 JAVA) (0) | 2021.08.23 |
Comments