티스토리 뷰

알고리즘(C++)/Programmers 알고리즘

행렬의 덧셈

개발하는꼬물이 2017. 9. 28. 23:50

문제. 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요.

예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.)


#include <iostream>
#include <vector>
using namespace std;

vector <vector<int>> sumMatrix(vector<vector<int>> A, vector<vector<int>> B)
{
	vector<vector<int>> answer;

	//answer.resize(A.size(), vector(A[0].size(), 0));

	int i, j = 0;

	for (int i = 0; i < A.size(); i++)
	{
                vector<int> temp;
    
		for (int j = 0; j < A[0].size(); j++)
		{
			temp.push_back(A[i][j] + B[i][j]);
		}
    
                answer.push_back(temp);
	}

	return answer;
}

int main()
{
	vector<vector<int>> a{ { 1,2 },{ 2,3 } }, b{ { 3,4 },{ 5,6 } };
	vector<vector<int>> answer = sumMatrix(a, b);

		for (int i = 0; i < answer.size(); i++)
	{
		for (int j = 0; j < answer[0].size(); j++)
		{
			cout << answer[i][j] << " ";
		}
		cout << "\n";
	}
}


=> Level1의 문젠데.. vector STL을 잘 안써봐서그런지 넘나 오래걸린것.. 


     1. answer vector을 resize 해주던지 (크기 지정)

     2. 새로운 vector temp를 만들어 answer에 넣어주던지

    

     둘 중 하나로 풀면 되는 것 같다! 

'알고리즘(C++) > Programmers 알고리즘' 카테고리의 다른 글

최솟값 만들기  (0) 2017.10.02
소수 찾기  (0) 2017.10.02
콜라츠 추측  (0) 2017.10.02
피보나치 수  (0) 2017.09.28
약수의 합  (0) 2017.09.28
댓글