프로그래머스 - 행렬의 곱셈 (Level 2)
2023. 12. 23. 16:43ㆍ코딩테스트 정리(자바)
728x90
1. int answer [][]={};
이건 초기화 되지 않은 빈 배열
길이가 0
2. 연산 결과 행렬의 크기 지정해 주기
-> 행은 arr1의 행 길이, 열은 arr2의 열 길이
3. i는 arr1의 열 길 이이면서 arr2의 행길이이다.
-> 따라서 i의 범위는 arr1의 열 길이로 잡던지 arr2의 행 길이로 잡아야 한다.
class 행렬의_곱셈 {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr2[0].length];
for(int y=0;y<arr1.length;y++){
for(int x=0;x<arr2[0].length;x++){
for(int i=0;i<arr1[0].length;i++){
//여기 i의 범위를 arr2[0].length로 잡아서 계속 틀림
answer[y][x]+=arr1[y][i]*arr2[i][x];
}
}
}
return answer;
}
}
* Arrays.deepToString(arr)
-> 다차원 배열을 String 형식으로 반환한다.
Systems.out.println( Arrays.deepToString(arr));
이런식으로 출력하면 다차원의 원소를 쉽게 확인할 수 있다
728x90
'코딩테스트 정리(자바)' 카테고리의 다른 글
| 프로그래머스 - 거리두기 확인하기(Level 2) (2) | 2023.12.28 |
|---|---|
| 프로그래머스 - 자연수 뒤집어 배열로 만들기 (Level 1) (2) | 2023.12.25 |
| 프로그래머스 - 삼각 달팽이 (Level 2) (2) | 2023.12.22 |
| 코딩테스트 문제풀이방법 (3) | 2023.12.21 |
| 프로그래머스 - 교점에 별 만들기 (Level 2) (2) | 2023.12.21 |