본문 바로가기
개발 노트/백준, 프로그래머스 풀이

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

by tokkiC 2022. 6. 17.

프로그래머스의 풀이에 익숙해지기 위해 프로그래머스 1단계부터 모두 풀기로 했다

어려운 것을 풀기보다는 기본 문법과 구현에 초점을 둔 1단계 레벨이다

하지만 개념이 부족해서 놓친 문제가 있어서 적어둔다

2차원 배열 gom[b][c] 를 만들려면 for문을 두번 돌되, 하나의 i에서 c의 개수만큼 연달아 push 하면 하나의 부분배열로 묶이므로, for 안에서 임시벡터에 push하여 1차원 부분 배열을 만들고, 저장한 임시 벡터에 저장된 부분배열을 최종 벡터에 push 하여 하나의 요소로 만들고, i번 만큼 반복하여 2차원 배열로 만들어준다

중요한 개념이다 헷갈리지 말고 반드시 이해하고 가자

#include <bits/stdc++.h>

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++){
        vector<int> temp;
        for(int j=0; j<arr1[i].size(); j++){
            temp.push_back(arr1[i][j]+arr2[i][j]);
        }
        answer.push_back(temp);
    }

    return answer;
}

 

댓글