본문 바로가기
Development/Baekjoon

[C#] 10798번: 세로읽기

by Mobics 2025. 9. 2.

목차


    백준 단계별로 풀어보기

    25.09.02

    7단계: 2차원 배열


    10798번: 세로읽기

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

     

    문제 풀이

    >> 문제를 풀기 위해 알아야 할 개념

    - char 배열의 초기화 값

    : char 형식의 기본 값은 '\0'(null 문자)이다. 따라서 char 배열을 선언하고 따로 값을 초기화하지 않으면 그 배열의 값에는 '\0'이 들어가게 된다.

     

    ※ 참고 문서 - char 형식

     

    char 형식 - C# reference

    C의 기본 제공 문자 형식에 대해 알아보기#

    learn.microsoft.com

     

    >> 풀이

    1. 총 다섯 개의 단어를 만드는데, 각 단어는 최대 15개의 글자들로 이루어져 있기 때문에 [5, 15] 크기의 2차원 배열을 만든다.
    2. 이중 반복문을 통해 단어를 입력받고, 그 글자들을 만든 2차원 배열에 넣어준다.
    3. 이중 반복분을 반대로 실행하여 가로가 아닌, 세로로 읽도록 만들고 StringBuilder에 넣어준다. 이때, 만약 그 배열의 값이 비어있다면 넘어가도록 한다.
    4. StringBuilder에 담아준 문자열을 출력한다.

     

    정답 코드

    using System.Text;
    
    class Backjoon
    {
        static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();
            char[,] arr = new char[5, 15];
    
            for (int i = 0; i < 5; i++)
            {
                string input = Console.ReadLine();
    
                for (int j = 0; j < input.Length; j++)
                {
                    arr[i, j] = input[j];
                }
            }
    
            for (int j = 0; j < 15; j++)
            {
                for (int i = 0; i < 5; i++)
                {
                    if (arr[i, j] != '\0')
                    {
                        sb.Append(arr[i, j]);
                    }
                }
            }
            Console.Write(sb.ToString());
        }
    }

    'Development > Baekjoon' 카테고리의 다른 글

    [C#] 2745번: 진법 변환  (0) 2025.09.04
    [C#] 2563번: 색종이  (0) 2025.09.03
    [C#] 2566번: 최댓값  (4) 2025.08.29
    [C#] 2783번: 행렬 덧셈  (1) 2025.08.28
    [C#] 25206번: 너의 평점은  (2) 2025.08.27