728x90
반응형
문제 링크
programmers.co.kr/learn/courses/30/lessons/12949#
* 프로그래머스 - Level 2 - (자바)행렬곱셈 - 3중 for문
< 로직 >
* 기본 행렬의 곱셈을 그대로 코드로 옮긴다
* 곱 할 수 없는 행렬은 주어지지 않으므로 편하게 계산하면 된다
* 3x2 행렬과 2 x 2 행렬을 예로 들면 아래와 같다
* 이런 로직을 배열의 크기 만큼 반복 구현하면 된다!
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
/*
* 2x3 * 3x2 일 때 2x2가 된다.
* 즉, arr1의 길이가 열길이
* arr2[0]의 길이가 행의 길이가 된다
* */
int[][] answer = new int[arr1.length][arr2[0].length];
// arr1의 열 인덱스
for(int i = 0; i < arr1.length; i++) {
// arr2의 열인덱스
for(int idx = 0; idx < arr2[0].length; idx++) {
int calc = 0;
// arr1과 arr2 곱셈
for(int j = 0; j < arr1[i].length; j++) {
calc += arr1[i][j] * arr2[j][idx];
}
answer[i][idx] = calc;
}
}
return answer;
}
반응형
'문제풀이 > Programmers 문제풀이' 카테고리의 다른 글
[ 알고리즘 ] 코딩 - Programmers - JadenCase.java (0) | 2021.01.26 |
---|---|
[ 알고리즘 ] 코딩 - Programmers - 전화번호목록.java (2) | 2021.01.23 |
[ 알고리즘 ] 코딩 - Programmers - 소수찾기.java (0) | 2021.01.22 |
[ 알고리즘 ] 코딩 - Programmers - 카펫.java (0) | 2021.01.21 |
[ 알고리즘 ] 코딩 - Programmers - 이중우선순위큐.java (0) | 2021.01.20 |