문제 풀기/C#
88. 행렬의 곱셈
kagan-draca
2025. 3. 11. 14:01
기본 틀 :
using System;
public class Solution {
public int[,] solution(int[,] arr1, int[,] arr2) {
int[,] answer = new int[,] {{}};
return answer;
}
}
문제를 보고 내장 함수를 사용할까? 2중 반복문으로는 풀 수 없을까?
진짜 3중 반복문 써야하나? answer이라는 변수를 사용 안 하는 방법은 없나?
등등 여러가지 생각을 하다보니 머리 속이 복잡해졌다...
그렇게 복잡해진 머리로 3중 반복문에 answer를 사용해서 문제를 풀려고 시도하니
각각의 배열의 index에 i, j, k 뭘 넣어줘야 하는지 더 헷갈리기 시작했다...
그래서,
위와 같이 머리를 정리한 후 코드를 작성하여 문제를 해결할 수 있었다...
using System;
public class Solution {
public int[,] solution(int[,] arr1, int[,] arr2) {
int[,] answer = new int[arr1.GetLength(0),arr2.GetLength(1)];
for(int i = 0; i < arr1.GetLength(0); i++)
{
for(int j = 0; j < arr1.GetLength(1); j++)
{
for(int k = 0; k < arr2.GetLength(1); k++)
{
answer[i,k] += arr1[i,j] * arr2[j,k];
}
}
}
return answer;
}
}