문제
문자열 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 |