(JAVA) 행렬의 곱셈 - 프로그래머스
[문제]
문제 설명
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
제한 사항
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
arr1 | arr2 | return |
---|---|---|
[풀이]
해설
이 문제는 행렬의 곱셈 식만 알고 있다면 쉽게 풀 수 있는 문제이다.
단, for문에서 해당되는 인자값(i, j, n)을 헷갈리지 않는 것이 제일 중요하다.
행렬의 곱셈식은 참고 사항에 있다
코드
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++)
for (int n = 0; n < arr1[0].length; n++)
answer[i][j] += (arr1[i][n] * arr2[n][j]);
return answer;
}
참고(행렬의 곱셈식)
행렬 A(mXn) 행렬 B(nXp) = 행렬 S(mXp)
= + + ⋯ + =
Author And Source
이 문제에 관하여((JAVA) 행렬의 곱셈 - 프로그래머스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@delay/programmers12949
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 문제는 행렬의 곱셈 식만 알고 있다면 쉽게 풀 수 있는 문제이다.
단, for문에서 해당되는 인자값(i, j, n)을 헷갈리지 않는 것이 제일 중요하다.
행렬의 곱셈식은 참고 사항에 있다
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++)
for (int n = 0; n < arr1[0].length; n++)
answer[i][j] += (arr1[i][n] * arr2[n][j]);
return answer;
}
행렬 A(mXn) 행렬 B(nXp) = 행렬 S(mXp)
= + + ⋯ + =
Author And Source
이 문제에 관하여((JAVA) 행렬의 곱셈 - 프로그래머스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@delay/programmers12949저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)