문제

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

 

풀이

간단하다 일단 문자열을 입력받으면

그 문자열의 각 문자를 반복 수만큼 반복해서

새로운 문자열로 나타내는 것이다

예를들어 3 ABC 라면 AAABBBCCC 이런 패턴으로

각 문자를 3번 반복한걸 이어붙여 새로운 문자열을 만들어낸다

그러기 위해서 나는 들어온 문자열을 문자열 길이만큼 for문 돌리고

charAt() 을 이용해 문자를 뽑아 반복 수 만큼 글자를 출력하는데

이때 이중 for문을 활용했다

 

코드

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		// 첫째줄에 테스트케이스 수가 주어진다
		// 두번째 줄부터 첫번째에 몇번 반복할건지 두번째에 문자열이 주어진다
		// 이때 3 ABC 라면 AAABBBCCC 이런식으로 각 문자를 반복해서 P라는 문자열을 만들면된다

		Scanner sc = new Scanner(System.in);

		int testCase = sc.nextInt();

		for (int i = 0; i < testCase; i++) {

			int n = sc.nextInt();
			String s = sc.next();

			for (int j = 0; j < s.length(); j++) {
				for (int k = 0; k < n; k++) {
					System.out.print(s.charAt(j));
				}
			}
			System.out.println();
		}
	}
}