1 분 소요

문제

문자열 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를 출력한다.


풀이 과정

  1. 케이스의 개수 T를 입력받는다. 그리고 T만큼의 문자열 배열을 만든다.
  2. T만큼의 반복문을 시작한다. 매 반복문마다 반복횟수 문자열의 형태로 입력을 받는다.
  3. 받은 형태를 반복횟수문자열로 분리한다.
  4. 문자열의 글자마다 반복횟수 만큼 반복하여 문자열 배열에 저장한다.
  5. 문자열 배열을 출력한다.

T입력받고 배열 만들기

int T = int.Parse(Console.ReadLine());

string[] newWord = new string[T];


T만큼 반복하며 입력받기

입력받은 문자를 분리하여 repeatword로 나눠 저장한다.

for (int i = 0; i < T; i++)
{
    string[] S = Console.ReadLine().Split(' ');

    int repeat = int.Parse(S[0]);
    string word = S[1];
    ...


문자열 배열에 저장

repeat만큼 문자열의 각 문자를 반복하여 문자열 배열에 다시 저장한다.

for (int i = 0; i < T; i++)
{
    string[] S = Console.ReadLine().Split(' ');

    int repeat = int.Parse(S[0]);
    string word = S[1];

    for (int j = 0; j < word.Length; j++)
    {
        for (int k = 0; k < repeat; k++)
        {
            newWord[i] += word.Substring(j, 1);
        }
    }
}


문자열 배열 출력

for (int i = 0; i < newWord.Length; i++)
{
    Console.WriteLine(newWord[i]);
}

댓글남기기