02/08 본캠프 #33

guno park·2024년 2월 8일
0

본캠프

목록 보기
33/77

알고리즘 풀어보기

행렬의 곱셈

풀이

내가 문제를 정확하게 이해 못 했는 지 몰라도, 일반적으로 행렬의 곱셉을 하면 행렬 크기가 달라질 수도 있을텐데 여긴 안달라지더라.
이번에는 평소랑 다르게, 메서드를 하나 만들어서 풀었다.
새로 만들어질 행렬의 [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차원 배열로 만들어 서로 곱한 값을 계속 더하는 방식을 취했다.

팀 프로젝트 - 3D 서바이벌 게임 만들기

기타에 들어갈 것 - 현재 시간 표시할 것, 온도, 허기, 광원?

만약 적한테 피격당하는 걸 콜라이더로 부위별로 나눠서 피해 정도를 적용한다면 어떨까
다리를 맞으면 이동속도가 느려지고, 팔을 맞으면 공격력이 떨어진다던지


Clockwise 풀면 반대방향으로 간다

풀었을 때

원 두개 해서, 배경은 Filled Amout로 계속 줄어들고, 안에 구는 색깔이 바뀌면서 낮밤 가르쳐주는걸로하자.

온도는 가운데에 그게 돌아야됨 그거 초침같은걸로 이제 넘어가는만큼 찍어주는거지.
이거 하다가 막히면 온도 숫자로 표시하고.

저작권 특강

CC 크리에이티브 커먼즈 라이선스

MIT BSD 차이


가장 중요한 것


런칭 하는 것 뿐만 아니라, 내가 직접 만든다고 해도 순수한 의도의 시비만 걸리진 않는다. 그런 것들을 미리 대비하기 위해 미리미리 준비해야한다.

0개의 댓글