GitHubSeob

C++ / 프로그래머스 / 행렬의 덧셈 본문

Programmers/Level 1

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

GitHubSeob 2021. 8. 4.

문제

https://programmers.co.kr/learn/courses/30/lessons/12950

 

코딩테스트 연습 - 행렬의 덧셈

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

programmers.co.kr

 

 

문제풀이

행렬의 같은 행, 열끼리 덧셈만 하면 된다.

solution이 벡터형 함수이므로 두 개의 2차원 벡터를 선언한다. (arr1, arr2)

입력받는 함수의 열 크기, 행 크기만큼 for문을 돌리면서

덧셈을 한 후 push_back()을 이용하여 2차원 벡터 answer를 구성한다.

 

코드

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    vector<vector<int>> answer(arr1.size(), vector<int>(0, 0));
    for (int y = 0; y<arr1.size(); ++y) {
        for (int x = 0; x < arr1[y].size();++x) {
            answer[y].push_back(arr1[y][x] + arr2[y][x]);
        }
    }
    return answer;
}