Programers : 행렬의 덧셈(resize() / reserve())

김정욱·2021년 1월 20일
0

Algorithm - 문제

목록 보기
52/249

vector의 resize()사용하기

  • 최초 값이 정해지지 않은 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;
}
profile
Developer & PhotoGrapher

0개의 댓글