c# 백준 2675 문자열 반복
문제
문자열 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를 출력한다
.
풀이 과정
- 케이스의 개수 T를 입력받는다. 그리고 T만큼의
문자열 배열
을 만든다. - T만큼의 반복문을 시작한다. 매 반복문마다
반복횟수 문자열
의 형태로 입력을 받는다. - 받은 형태를
반복횟수
와문자열
로 분리한다. 문자열
의 글자마다 반복횟수 만큼 반복하여문자열 배열
에 저장한다.문자열 배열
을 출력한다.
T입력받고 배열 만들기
int T = int.Parse(Console.ReadLine());
string[] newWord = new string[T];
T만큼 반복하며 입력받기
입력받은 문자를 분리하여 repeat
와 word
로 나눠 저장한다.
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]);
}
댓글남기기