c++

백준 c++ 2738 문제 풀이

psb08 2025. 4. 3. 08:01
728x90

문제 링크 : https://www.acmicpc.net/problem/2738

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 브론즈 3 문제 입니다.

문제명 : 행렬 덧셈

 

내 코드

#include<iostream>
#include<vector>
using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;

    vector<vector<int>> matrix(n, vector<int>(m, 0));

    for (int i = 0; i < n * 2; i++) 
    {
        for (int j = 0; j < m; j++) 
        {
            int value;
            cin >> value;
            int ry = (i < n) ? i : i - n;
            matrix[ry][j] += value;
        }
    }

    for (int i = 0; i < n; i++) 
    {
        for (int j = 0; j < m; j++) 
        {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }

    return 0;

}

 

문제 풀이 해석 내용

 

헤더 파일 포함 및 네임스페이스 사용

#include<iostream>
#include<vector>
using namespace std;

iostream은 입출력을 위한 헤더 파일이고, vector는 동적 배열을 사용하기 위한 헤더 파일입니다.
using namespace std;는 std 네임스페이스를 사용하여 코드에서 std::를 생략할 수 있게 합니다.

 

 

메인 정의 및 변수 선언과 입력

int main()
{
	int n, m;
	cin >> n >> m;

프로그램의 시작점인 main 함수를 정의합니다.

두 개의 정수 n과 m을 입력받습니다. 여기서 n은 행렬의 행 수, m은 열 수입니다.

 

 

행렬 초기화

vector<vector<int>> matrix(n, vector<int>(m, 0));

n x m 크기의 2차원 벡터 matrix를 생성하고, 모든 요소를 0으로 초기화합니다.

 

 

행렬 요소 입력 및 합산

for (int i = 0; i < n * 2; i++) 
{
    for (int j = 0; j < m; j++) 
    {
        int value;
        cin >> value;
        int ry = (i < n) ? i : i - n;
        matrix[ry][j] += value;
    }
}

i는 0부터 n * 2 - 1까지 반복합니다. 이는 두 개의 행렬을 입력받기 위한 것입니다.
j는 0부터 m - 1까지 반복하여 각 열의 값을 입력받습니다.
cin >> value;로 입력받은 값을 value에 저장합니다.
ry는 현재 행을 결정하는 변수입니다. 첫 번째 행렬의 경우 i, 두 번째 행렬의 경우 i - n을 사용하여 같은 행에 값을 더합니다.
matrix[ry][j] += value;를 통해 해당 위치에 값을 누적합니다.

 

 

5

	for (int i = 0; i < n; i++) 
	{
    	for (int j = 0; j < m; j++) 
    	{
        	cout << matrix[i][j] << " ";
    	}
        cout << endl;
	}

	return 0;
}

결과 행렬을 출력합니다. 각 요소를 공백으로 구분하여 출력하고, 각 행이 끝날 때마다 줄을 바꿉니다.

main 함수가 종료되며, 프로그램이 정상적으로 종료됨을 나타냅니다.

 

실행 결과

 

728x90

'c++' 카테고리의 다른 글

백준 c++ 2476 문제 풀이  (0) 2025.04.05
백준 c++ 2562 문제 풀이  (0) 2025.04.04
백준 c++ 1264 문제 풀이  (0) 2025.04.02
백준 c++ 2884 문제 풀이  (0) 2025.04.01
백준 c++ 2439 문제 풀이  (0) 2025.03.31