⚠️ 한 번씩 읽어주세요 ⚠️
제 개인의 풀이 방법이며 제 풀이가 꼭 정답은 아닙니다
더 나은 풀이법이 존재할 경우 댓글로 공유해 주시면
저를 포함한 다른 분들에게도 많은 도움이 됩니다
전체 코드는 깃헙 링크 혹은 하단 코드를 통해 확인가능 합니다
| 문제 링크 🔗
2738번: 행렬 덧셈
첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같
www.acmicpc.net
| 문제 설명 ❓
| 입출력 예시 💬
| 풀이 🔥
2차원 matrix(배열)을 만든 후 반복문을 통해 각 요소에 대한 입력 값을 더하여 결과 matrix를 출력하면 됩니다.
matrix(배열)을 2개를 만들어서 푸는 방법이 있지만, 반복 횟수를 이용해서 1개의 배열을 사용하여 풀 예정입니다.
| 전체 코드 🔎
[깃헙 / Github] (IDE: Rider)
GitHub - taehuuun/CodingTest: This is a auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github
This is a auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - GitHub - taehuuun/CodingTest: This is a auto push repository for B...
github.com
// 문자열로 형식으로 입력을 받움
string input = Console.ReadLine();
// 입력 받은 문자열을 공백을 기준으로 나눔
string[] splitInput = input.Split(' ');
// 각 문자열 배열의 값을 정수형으로 파싱하여 n, m에 대입
// Ex) n = 3
// Ex) m = 3
int n = int.Parse(splitInput[0]);
int m = int.Parse(splitInput[1]);
// n x m 사이즈의 이차원 배열 생성
int[,] matrix = new int[n,m];
// n의 2배 만큼 반복 Ex) 3x2 = 6번 반복
for (int y = 0; y < n*2; y++)
{
// 각 행을 문자열로 입력 받음
string inputRow = Console.ReadLine();
// 공백을 기준으로 입력 받은 문자열을 나눔
string[] splitRows = inputRow.Split(' ');
// splitRows의 길이 만큼 반복
for (int x = 0; x < splitRows.Length; x++)
{
// y값이 n보다 작을경우 Ex) 0,1,2
// y값이 n보다 같거나 큰 경우 Ex) 3-3 = 0, 4-3 = 1, 5-3 =2
int ry = y < n ? y : y - n;
// 각 matrix[y,x] 값에 splitRows[x]값을 더한다
matrix[ry, x] += int.Parse(splitRows[x]);
}
}
// 모든 연산이 끝난 matrix를 출력
for (int y = 0; y < n; y++)
{
for (int x = 0; x < m; x++)
{
Console.Write($"{matrix[y,x]} ");
}
Console.WriteLine();
}