문제 

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

 

예제 

입력:

2
3 ABC
5 /HTP

출력

AAABBBCCC
/////HHHHHTTTTTPPPPP

 

 

코드

using System; 

class Program 
{ 
    static void Main(string[] args) 
    { 
        int total = int.Parse(Console.ReadLine()); 
        string[] str;
        
        for(int i=0; i<total; i++) {
            str = Console.ReadLine().Split();
            for(int j=0; j<str[1].Length; j++)
            {
                for(int k=0; k<int.Parse(str[0]); k++) 
                {
                    Console.Write(str[1][j]);
                }
            }
            Console.Write('\n');
        }
    } 
}



설명:

먼저 입력에서 첫 번째 줄은 테스트 케이스의 개수이기 때문에 total 변수에 저장한다. 

그런 다음 total 수만큼 for문을 돌면서 읽어들인 라인을 공백 기준으로 나눠서 str 배열에 저장한다. 

str[0]에는 반복 출력할 횟수, str[1]에는 반복 출력할 단어가 string으로 저장되어 있다. 

이제 str[1]의 문자 수만큼 for문을 돌면서 str[0]를 int.Parse한 수 만큼 다시 for문을 돌리고 str[1][j]를 출력한다.

이렇게 하면 str[1]에 저장되어 있던 단어의 문자 하나하나를 str[0]의 수만큼 출력하게 된다. 

문자를 모두 출력했으면 Console.Write('\n'); 통해 줄바꿈을 해주고 다음 라인으로 넘어가서 작업을 반복한다. 

 

 

'Coding > BaekJoon' 카테고리의 다른 글

[BaekJoon/C#] 1152. 단어의 개수  (0) 2021.09.23
[BaekJoon/C#] 1157. 단어 공부  (0) 2021.09.23
[BaekJoon/C#] 10809. 알파벳 찾기  (0) 2021.09.21
[BaekJoon/C#] 11720. 숫자의 합  (0) 2021.09.21
[BaekJoon/C#] 1000. A+B  (0) 2021.09.20

+ Recent posts