본문 바로가기

문과 코린이의, [C#] 기록/C# CodingTest

[문과 코린이의 IT 기록장] C# 백준 문제풀이 - 문자열 반복 (2675)

반응형

[문과 코린이의 IT 기록장] C# 백준 문제풀이 - 문자열 반복 (2675)

[문과 코린이의 IT 기록장] C# 백준 문제풀이 - 문자열 반복 (2675)

 


 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net

[ 문제 ]

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.

[ 입력 ]

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 

[ 출력 ]

각 테스트 케이스에 대해 P를 출력한다.

 


[ 코드 ]

using System;
using System.Text;
using static System.Console;

namespace backjun
{
    class Program
    {
        static void Main(string[] args)
        {
            // T 테스트케이스 개수
            int T = int.Parse(ReadLine());

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < T ; i++)
            {
                // 각 테스트케이스는 반복 횟수와 문자열이, '공백'으로 구분된다.
                // 따라서 입력 받는 부분은, 한 곳이다.
                string[] testCases = ReadLine().Split(' ');

                // R 반복 횟수 
                int R = int.Parse(testCases[0]);
                                
                // S 문자열
                string S = testCases[1];


                sb.Length = 0; // sb 객체 초기화

                for (int j = 0; j < S.Length; j ++)
                {
                    for (int k = 0; k < R; k++)
                    {
                        sb.Append(S[j].ToString());
                    }
                }
                WriteLine(sb);
            }
        }
    }
}

 


* 유의사항
- 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다.
- 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다.
- 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :)
반응형