본문 바로가기
C#/프로그래머스

[프로그래머스] C# : 행렬의 덧셈

by TODAYCODE 2021. 7. 30.
반응형

프로그래머스 코딩테스트 연습 Level 1 - 행렬의 덧셈

 

코딩테스트 연습 - 행렬의 덧셈

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요

programmers.co.kr

문제의 핵심

1. 2차원 배열을 다룰 수 있는가?


 

 

아마 프로그래머스에서 2차원배열에 관련된 문제중 가장 쉬운문제가 아닐까 싶다.

2차원배열을 다뤄본 적이 없다면 이번문제를 통해서 감을 잡도록 하자.

 

문제를 살펴보면,

2차원 배열이 2개 주어지는데 둘다 크기가 똑같다.

따라서 이 둘의 합을 저장할 또다른 2차원 배열을 생성하면서 길이를 동일하게 설정해주자.

이때 보통의 배열을 arr.Legth를 입력하면 되지만,

2차원 배열은 어떤 길이를 가져올 것인지를 알려줘야한다.

고로, arr.GetLength(번호)

를 사용해서 길이를 입력해주도록 하자.

 

2차원 배열을 더하려면 이중for문이 필요하다.

배열의 숫자를 증가시켜주면서 더해야하는데 배열이 2개이므로.

 

2차원배열이라는 것이 생소한 것 빼면,

기존에 계속 반복했던 유형들과 차이점이 없다.

 

 

정답 코드

using System;

public class Solution
    {
        public int[,] solution(int[,] arr1, int[,] arr2)
        {
        // 입력된 2차원 배열의 길이와 동일하게 설정
            int[,] answer = new int[arr1.GetLength(0),arr1.GetLength(1)];
            
            // 각각 더해준다.
            for (int i = 0; i < arr1.GetLength(0); i++)
            {
                for (int j = 0; j < arr1.GetLength(1); j++)
                {
                    answer[i, j] = arr1[i, j] + arr2[i, j];
                }
            }
            return answer;
        }
    }

 

 

 

 

반응형

댓글