본문 바로가기
백준

[백준] 2738번 - 행렬 덧셈

by 템닉___ 2024. 3. 18.

문제: 

시도 횟수: 1번

처음 생각한 방법: 이차원 배열? vector를 사용할까 array를 사용할까. 동적 배열인 vector가 조금 더 낫겠다 싶어서 vector로 사용 행렬을 세개 만들어 놓고 A행렬, B행렬, A+B행렬을 각각 matrix, matrix2, matrix3으로 두었음

내 코드:

#include <bits/stdc++.h>
using namespace std;

int main()
{
   int N, M;
   cin >> N >> M;
   vector<vector<int>> matrix(N, vector<int>(M));
   vector<vector<int>> matrix2(N, vector<int>(M));
   vector<vector<int>> matrix3(N, vector<int>(M));
   
   for(int i=0; i<N; ++i) {
       for(int j = 0; j<M; ++j) {
           cin >> matrix[i][j];
       }
   }
   
   for(int i=0; i<N; ++i) {
       for(int j = 0; j<M; ++j) {
           cin >> matrix2[i][j];
       }
   }
   
   for(int i=0; i<N; ++i) {
       for(int j = 0; j<M; ++j) {
           matrix3[i][j] = matrix[i][j] + matrix2[i][j];
       }
   }
   
   for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            cout << matrix3[i][j] << " ";
        }
        cout << endl;
    }
}

모범답안: 맘에 드는 모범답안이 없어서 GPT에게 풀어보라 했는데 답이 똑같이 나와서 패스.

내 코드의 개선할 점: 2차원 배열 동적할당에 대해서 나중에 연습해볼 필요성을 느꼈다. 

알고리즘 분류: 수학, 구현, 사칙연산

난이도: 브론즈 III

복습하면서 참고해본 블로그 목록:  X

'백준' 카테고리의 다른 글

[백준] 11718번 - 그대로 출력하기  (0) 2024.03.20
[백준] 2744번 - 대소문자 바꾸기  (0) 2024.03.20
[백준] 2475번 - 검증수  (0) 2024.03.18
[백준] 15964번 - 이상한 기호  (0) 2024.03.18
[백준] 2754번 - 학점계산  (0) 2024.03.18