문제 설명
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
제한사항
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예
나의 풀이
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 temp = 0;
for(int k = 0; k < arr2.length; k ++){
temp += arr1[i][k] * arr2[k][j];
}
answer[i][j] = temp;
}
}
return answer;
}
}
다른사람 풀이 - 1
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
// m*n n*k 행렬의 곱셈 결과는 m*k 행렬이다.
// 결과의 배열 생성
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++){
for(int k = 0; k < arr1[0].length; k++){
answer[i][j] += arr1[i][k]*arr2[k][j];
}
}
}
return answer;
}
}
'프로그래머스 코딩테스트_도서실습' 카테고리의 다른 글
공원 산책 (0) | 2024.02.03 |
---|---|
개인정보 수집 유효기간 (0) | 2024.02.03 |
[코딩테스트_도서실습] 문자열 - 거리두기 확인하기 - Lv2 (0) | 2023.07.08 |
[코딩테스트_도서실습] 문자열 - 삼각달팽이 - Lv2 (0) | 2023.07.08 |
[코딩테스트_도서실습] 배열 - 교점에 별 만들기 - Lv2 (0) | 2023.07.08 |