행렬의 덧셈

김여울·2025년 7월 25일
0

내일배움캠프

목록 보기
51/111

▶ 튜터님 설명

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    vector<vector<int>> answer;
    
    for (int i = 0; i < arr1.size(); i++)
    {
        vector<int> num;
        for (int j = 0; j < arr1[0].size(); j++)
        {
            num.push_back(arr1[i][j] + arr2[i][j]); // 더합니다
        }
        answer.push_back(num);
    }
    return answer;
}

17조에서도 했었는데 또 못 풀어 상범 님, 형철 님, 진영 님, 튜터님의 설명을 듣고 풀 수 있었다..

배열 안의 배열은 2차원 배열로 생각한다.
아니면 상자 안의 상자, 마트료시카카처럼 생각하면 편하다.
그래서 큰 배열안의 작은 배열을 도는 건 i for문, 작은 배열 안에서 도는 건 j for문의 이중 for문으로 만든다.
i와 j를 더해 새로운 배열 num에 넣어준다.
그리고 answer로 반환하니까 answer에도 만든 배열 num을 넣는다.

끝~

0개의 댓글