[프로그래머스][C++] 행렬의 덧셈
행렬의 덧셈Permalink
문제 링크Permalink
분석Permalink
2차원 배열을 더하는 문제입니다.
2중 반복문을 사용해서 행과 열을 순회하며, 각 위치의 값을 더하면 됩니다.
풀이Permalink
#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>(arr1[0].size()));
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;
}
answer
의 메모리를 미리 할당해줍니다.
이때 2차원 배열로 할당합니다.
2차원 배열의 더하기이므로 2중 반복문을 사용했습니다.
arr1.size()
는 1차원 배열의 크기이고, arr1[i].size()
는 2차원 배열의 크기입니다.
answer[i][j] = arr1[i][j] + arr2[i][j]
는 각 2차원 배열에 접근해서 값들 더하고 대입하는 방법입니다.
성능 요약Permalink
테스트 1 〉 통과 (0.01ms, 4.21MB)
테스트 2 〉 통과 (0.17ms, 4.2MB)
테스트 3 〉 통과 (0.46ms, 4.28MB)
테스트 4 〉 통과 (0.28ms, 4.16MB)
테스트 5 〉 통과 (0.10ms, 4.21MB)
테스트 6 〉 통과 (0.33ms, 4.08MB)
테스트 7 〉 통과 (0.04ms, 4.2MB)
테스트 8 〉 통과 (0.24ms, 3.83MB)
테스트 9 〉 통과 (1.80ms, 5.54MB)
테스트 10 〉 통과 (1.46ms, 5.25MB)
테스트 11 〉 통과 (1.16ms, 4.59MB)
테스트 12 〉 통과 (1.13ms, 5.04MB)
테스트 13 〉 통과 (1.38ms, 4.71MB)
테스트 14 〉 통과 (1.89ms, 5.24MB)
테스트 15 〉 통과 (1.27ms, 5.23MB)
테스트 16 〉 통과 (1.18ms, 5.18MB)
테스트 17 〉 통과 (59.56ms, 74.9MB)
댓글남기기