https://school.programmers.co.kr/learn/courses/30/lessons/12949
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr2[0].length];
/*
행렬을 곱할 때는 앞선 행렬의 열과 뒤 행렬의 행이 같아야 함을 이용하자.
*/
for(int k =0; k<arr1.length; k++){ //1,2
for(int i=0; i<arr2[0].length; i++){ // 1,2,3
for(int j=0; j<arr1[0].length; j++){ // 1,2
answer[k][i]+=arr1[k][j]*arr2[j][i];
}
}
}
return answer;
}
}
인덱스 처리 문제는 헷갈리는 게 문제인 것 같다.
행렬의 곱셈의 특징인 앞선 행렬의 열과 뒤 행렬의 행이 같아야하는 것을 이용하는 것은 금방 파악했다.
이것을 인덱스로 표현하는 것이 헷갈려서 오래 걸렸다.
45분정도 소요된것 같다. ㅠㅠ
'알고리즘 > 문제' 카테고리의 다른 글
| *[프로그래머스] Lv2 택배 배달과 수거하기 / JAVA (0) | 2023.03.15 |
|---|---|
| *[프로그래머스] Lv2 위장 / JAVA (0) | 2023.03.13 |
| *[프로그래머스] Lv2 2018 KAKAO BLIND RECRUITMENT[1차] 캐시 / JAVA (0) | 2023.03.09 |
| [프로그래머스] Lv2 괄호 회전하기 / JAVA (0) | 2023.03.08 |
| [프로그래머스] Lv2 멀리뛰기 / JAVA (0) | 2023.03.06 |