[프로그래머스/C++] 행렬의 덧셈

꿈별·2024년 1월 8일
0

문제풀이

목록 보기
35/52

문제


풀이1 - 단순 덧셈

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
	for (int i = 0; i < arr1.size(); i++)
	{
		for (int j = 0; j < arr1[i].size(); j++)
		{
			arr1[i][j] += arr2[i][j];
		}
	}
    return arr1; 
}

풀이2 - 동적 할당

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    // 방법 A : 선언, 초기화 따로
	//vector<vector<int>> answer;
	//answer.assign(arr1.size(), vector<int>(arr1[0].size()));
	
    // 방법 B : 선언과 동시에 초기화
	vector<vector<int>> answer(arr1.size(), vector<int>(arr1[0].size()));

	for (int i = 0; i < arr1.size(); i++)
	{
		for (int j = 0; j < arr1[i].size(); j++)
		{
			answer[i][j] += (arr1[i][j] + arr2[i][j]);
		}
	}
	 return answer;
}

assign()

https://modoocode.com/183
https://learn.microsoft.com/ko-kr/cpp/standard-library/vector-class?view=msvc-170

vector::assign
: 벡터의 기존 요소를 지우고, 지정된 요소를 복사해 넣는다.

  • first부터 last 직전 범위에 해당하는 요소 넣기
template <class InputIterator>
void assign(InputIterator first, InputIterator last);

  • 벡터 init_list 통째로 넣기
void assign(initializer_list<Type> init_list);

  • valuecount개 가지는 벡터로 만들기
void assign(size_type count, const Type& value);

0개의 댓글