C#

백준 C# 2738 문제 풀이

psb08 2024. 9. 19. 19:55
728x90

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

 

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

 

내 코드

string input = Console.ReadLine();
string[] splitInput = input.Split(' ');

int n = int.Parse(splitInput[0]);
int m = int.Parse(splitInput[1]);

int[,] matrix = new int[n, m];

for (int i = 0; i < n*2; i++)
{
    string inputRow = Console.ReadLine();
    string[] splitRows = inputRow.Split(' ');

    for (int j = 0; j < splitRows.Length; j++)
    {
        int ry = i < n ? i : i - n;
        matrix[ry, j] += int.Parse(splitRows[j]);
    }
}
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        Console.Write($"{matrix[i, j]} ");
    }
    Console.WriteLine();
}

 

 

코드 풀이 해석 내용

 

 

입력 받기

string input = Console.ReadLine();
string[] splitInput = input.Split(' ');

int n = int.Parse(splitInput[0]);
int m = int.Parse(splitInput[1]);

첫 번째 줄에서 행렬의 행 수 n과 열 수 m을 입력받습니다.

입력된 문자열을 공백으로 나눕니다. 그 다음 splitInput 배열에 저장하고, 각각 정수형으로 변환합니다.

 

 

행렬 초기화

int[,] matrix = new int[n, m];

n x m 크기의 정수형 2차원 배열 matrix를 초기화합니다.

 

 

행렬 입력 및 합산

for (int i = 0; i < n * 2; i++)
{
    string inputRow = Console.ReadLine();
    string[] splitRows = inputRow.Split(' ');

    for (int j = 0; j < splitRows.Length; j++)
    {
        int ry = i < n ? i : i - n;
        matrix[ry, j] += int.Parse(splitRows[j]);
    }
}

(n * 2)번 반복하여 총 2개의 행렬을 입력받습니다. 이 부분에서 i는 0부터 2n-1까지의 값을 가집니다.

각 입력 행은 공백으로 나누어 splitRows 배열에 저장됩니다.

ry는 현재 입력이 첫 번째 행렬에 해당하는 경우와, 두 번째 행렬에 해당하는 경우를 구분합니다  -->

     i < n: 첫 번째 행렬의 행
     i >= n: 두 번째 행렬의 행 (이때 i - n으로 계산).

각 원소를 정수로 변환하여 matrix의 해당 위치에 누적합을 더합니다.

 

 

결과 출력

for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        Console.Write($"{matrix[i, j]} ");
    }
    Console.WriteLine();
}

최종적으로 합산 된 matrix의 내용을 출력합니다.

각 행을 출력한 뒤, 줄바꿈을 합니다.

 

 

실행 결과

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 10798 문제 풀이  (0) 2024.09.20
백준 C# 2566 문제 풀이  (0) 2024.09.19
백준 C# 1259 문제 풀이  (0) 2024.09.19
백준 C# 25206 문제 풀이  (0) 2024.09.19
백준 C# 2775 문제 풀이  (4) 2024.09.18