[백준/브론즈5(Bronze V)] 2738번 - 행렬 덧셈 (C#)

2023. 6. 20. 00:33·백준/브론즈5 (Bronze V)

⚠️ 한 번씩 읽어주세요 ⚠️

제 개인의 풀이 방법이며 제 풀이가 꼭 정답은 아닙니다

더 나은 풀이법이 존재할 경우 댓글로 공유해 주시면

저를 포함한 다른 분들에게도 많은 도움이 됩니다

전체 코드는 깃헙 링크 혹은 하단 코드를 통해 확인가능 합니다

 

| 문제 링크 🔗

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net


| 문제 설명 ❓

백준-2738번-문제-입력-출력-설명
2738번 - 문제, 입력, 출력 설명


| 입출력 예시 💬

백준-2738번-예시-입력-출력-설명
2738번 - 예시 입력, 출력 설명


| 풀이 🔥

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();
}
저작자표시 비영리 변경금지 (새창열림)
'백준/브론즈5 (Bronze V)' 카테고리의 다른 글
  • [백준/브론즈5(Bronze V)] 2743번 - 단어 길이 재기 (C#)
  • [백준/브론즈5(Bronze V)] 2741번 - N찍기 (C#)
  • [백준/브론즈5(Bronze V)] 2558번 - A+B_2 (C#)
  • [백준/브론즈5(Bronze V)] 2557번 - Hello World (C#)
프로포폴
프로포폴
Unity 클라이언트 개발자가 운영 하는 개발 블로그 입니다
  • 프로포폴
    약파는개발자
    프로포폴
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • 유니티 (21)
        • 공부 (0)
        • 튜토리얼 (0)
        • 에셋 (3)
        • 문제 해결 (2)
        • 작업 (16)
      • 언리얼(Unreal) (1)
        • 문제 해결 (1)
      • 백준 (20)
        • 브론즈5 (Bronze V) (20)
      • 프로그래머스(Programmers) (23)
        • C# 풀이 (23)
      • C# (0)
        • 팁 (Tip) (0)
      • 컴퓨터 과학(CS) (2)
        • 알고리즘 (1)
        • 자료구조 (1)
  • 블로그 메뉴

    • 홈
    • 글쓰기
    • 태그
    • 유니티
    • 알고리즘
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    유니티
    c#
    프로그래머스
    projecta
    브론즈5
    개발일지
    픽셀리마인드
    SHA
    Bronze V
    Unity
    CS
    프로그래머스_C#
    탐색(Search)
    알고리즘
    컴퓨터과학
    baekjoon
    프로그래머스_Lv.0
    C++
    백준
    작업
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
프로포폴
[백준/브론즈5(Bronze V)] 2738번 - 행렬 덧셈 (C#)
상단으로

티스토리툴바