Coding Test/Programmers

[Lv.1] 행렬의 덧셈 [프로그래머스_코딩테스트] [2차원 배열] [20분]

whawoo 2025. 7. 3. 01:16
반응형

🔍 문제 요약

https://school.programmers.co.kr/learn/courses/30/lessons/12950

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

2차원 배열 arr1과 arr2가 주어질 때 행렬의 합을 반환하는 문제

🧠 나의 접근 방식과 시행착오

2분 정도 걸렸나 싶은 문제. Rider의 자동완성 기능이 정말 유용하다. for만 입력을 해도 어느정도 알아서 예상하고 보여주는데 그게 맞는 경우가 많은 듯.. (길게 걸릴 문제가 아닌데 20분이나 GPT가 예상을 해두었다..)

/// <summary>
/// 행렬의 덧셈
/// https://school.programmers.co.kr/learn/courses/30/lessons/12950
/// </summary>
public int[,] solution(int[,] arr1, int[,] arr2)
{
    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;
}

✅ 풀이 코드

for가 반복이 되다 보니 GetLength를 미리 빼두는 편이 역시 좋아 보이긴 한다. 

public int[,] solution(int[,] arr1, int[,] arr2)
{
    int rows = arr1.GetLength(0);
    int cols = arr1.GetLength(1);
    int[,] answer = new int[rows, cols];

    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            answer[i, j] = arr1[i, j] + arr2[i, j];
        }
    }

    return answer;
}

🔄 정리

2차원 배열은 실제로 게임 개발에서 많이 썼던 코드는 아니다. 거의 List위주로 썼었지.

반응형