행렬의 열과 크기가 같을 때, 같은 열과 행을 더한 행렬을 리턴하는 문제이다.
두 행렬과 리턴하는 행렬 모두 2차원으로 주어진다.
2차원 행렬에 삽입은 어떻게 할까?가 제일 큰 문제였다. 검색해보니 2차원 행렬은 1차원 벡터의 합이라는 정보를 얻었다. 그래서 행(i)을 중심으로 벡터를 만들어 주고 1차원 벡터에다가 더한 값을 넣어준 뒤 합해서 2차원 벡터를 만들었다.
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
//1차원 벡터를 만들어서 2차원 벡터에 넣어주는 방식으로(가로)
vector<vector<int>> answer;
for(int i = 0; i < arr1.size(); i++){
vector<int> v1;
for(int j = 0; j < arr1[0].size(); j++){
//arr1[0].size()열(가로의 길이) 사이즈로, v1에 넣어준다.
v1.push_back(arr1[i][j] + arr2[i][j]);
}
answer.push_back(v1);
}
return answer;
}