[#7][알고리즘] 행렬의 덧셈

프로그래머스(Programmers) > 행렬의 덧셈

문제 링크(https://programmers.co.kr/learn/challenge_codes/148)


















C++ 풀이
#include<iostream>
#include<vector>
using namespace std;
 
vector<vector<int> > sumMatrix(vector<vector<int> >A, vector<vector<int> >B)
{
    vector<vector<int> > answer =  A;
 
  
  for(int i=0;i<answer.size();i++)
    {
        for(int j=0;j<answer[0].size();j++)
        {
            //answer.at(i).at(j) = A.at(i).at(j) + B.at(i).at(j);
              answer[i][j] += B[i][j];
        }
    }
    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";
    }
}
 
cs

vector<vector<int>> answer에 A의 값을 넣어준 후, answer에 B를 더하여 반환
중첩 for문으로 answer과 B에서 같은 위치에 있는 값끼리 더함

  • 첫 번째 for문 A.size() : 행의 개수
  • 두 번째 for문 A[0].size() : 열의 개수


댓글

가장 많이 본 글