내가 문제를 정확하게 이해 못 했는 지 몰라도, 일반적으로 행렬의 곱셉을 하면 행렬 크기가 달라질 수도 있을텐데 여긴 안달라지더라.
이번에는 평소랑 다르게, 메서드를 하나 만들어서 풀었다.
새로 만들어질 행렬의 [i,j]에 들어갈 수를 구하기 위해선 반복작업을 취해야하는데 메인 메서드에서 모든 행동을 처리하기가 쉽지 않기 때문이다.
using System;
using System.Collections.Generic;
public class Solution {
public int[,] solution(int[,] arr1, int[,] arr2)
{
int row = arr1.GetLength(0);
int col = arr2.GetLength(1);
int[,] answer = new int[row,col];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
answer[i, j] = GetEle(i, j, arr1, arr2);
}
}
return answer;
}
static int GetEle(int a, int b,int[,] arr1, int[,] arr2)
{
int sum = 0;
List<int> arr = new List<int>();
for (int i = 0; i < arr2.GetLength(0); i++)
{
arr.Add(arr2[i, b]);
}
int[] arrcon = arr.ToArray();
int[] arrrow = new int[arr1.GetLength(1)];
for (int i = 0; i < arrrow.Length; i++)
{
arrrow[i] = arr1[a, i];
}
for (int i = 0; i < arrrow.Length; i++)
{
sum += arrrow[i] * arrcon[i];
}
return sum;
}
}
[i,j]에 들어갈 원소들을 1차원 배열로 만들어 서로 곱한 값을 계속 더하는 방식을 취했다.
기타에 들어갈 것 - 현재 시간 표시할 것, 온도, 허기, 광원?
만약 적한테 피격당하는 걸 콜라이더로 부위별로 나눠서 피해 정도를 적용한다면 어떨까
다리를 맞으면 이동속도가 느려지고, 팔을 맞으면 공격력이 떨어진다던지
Clockwise 풀면 반대방향으로 간다
풀었을 때
원 두개 해서, 배경은 Filled Amout로 계속 줄어들고, 안에 구는 색깔이 바뀌면서 낮밤 가르쳐주는걸로하자.
온도는 가운데에 그게 돌아야됨 그거 초침같은걸로 이제 넘어가는만큼 찍어주는거지.
이거 하다가 막히면 온도 숫자로 표시하고.
런칭 하는 것 뿐만 아니라, 내가 직접 만든다고 해도 순수한 의도의 시비만 걸리진 않는다. 그런 것들을 미리 대비하기 위해 미리미리 준비해야한다.