- 최초 값이 정해지지 않은
vector<vector<int>> answer
에 대해서
바로 answer[i][j] 이렇게 접근하는 바보같은 행동을 했다.- 생각해보니 우리가 담을 vector는 크기가 정해져 있지 않아 접근이 불가능 하다!
- 이 때 사용할 수 있는 것이
vector.resize()
이다.- 원하는 크기 / 초기값을 입력해서 초기화하고 생성을 해준다!
- 이와 비슷한
vector.reserve()
는 메모리를 예약만 할 뿐 초기화 / 생성을 해주지 않음!
#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++) { answer.resize(arr1.size()); for(int j=0;j<arr1[i].size();j++) { answer[i].resize(arr1[i].size()); answer[i][j]=arr1[i][j] + arr2[i][j]; } } return answer; }