*문제 출처는 프로그래머스에 있습니다.
문제 제목: 행렬의 덧셈 (1단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120817
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 사항
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
입출력 예 설명
없음
나의 풀이
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
vector<int> set(arr1[0].size(), 0);
vector<vector<int>> answer(arr1.size(), set);
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;
}
※ 알아야 할 것
풀기는 풀었다 하지만 for 중첩 쓰는 경우 시간이 꽤 오래 걸린다. 최대한 사용하지 않아야 할 것 같다.
그리고 2차원 벡터 배열에 초깃값을 부여할 때는 일차원 벡터에서 넘겨주면 된다.
'코딩테스트(프로그래머스 & 백준) > 프로그래머스-C++' 카테고리의 다른 글
Programmers / [1차] 비밀지도 / C++ (0) | 2024.01.25 |
---|---|
Programmers / 문자열 내 마음대로 정렬하기 / C++ (0) | 2024.01.24 |
Programmers / 문자열 나누기 / C++ (0) | 2024.01.22 |
Programmers / 정수 내림차순으로 배치하기 / C++ (0) | 2024.01.16 |
Programmers / 정수 제곱근 판별 / C++ (0) | 2024.01.16 |