땀두 블로그

[백준] 2675번 - 문자열 반복 본문

알고리즘/백준

[백준] 2675번 - 문자열 반복

땀두 2022. 3. 18. 11:20

 

문제

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

2 3 ABC 5 /HTP

예제 출력 1

AAABBBCCC /////HHHHHTTTTTPPPPP
import java.util.Scanner;

public class p2675 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int[] n = new int[a];
		String[] s = new String[a];
		for (int i = 0; i < a; i++) {
			n[i] = sc.nextInt();
			s[i] = sc.nextLine();
		}
		for (int i = 0; i < a; i++) {
			for (int j = 1; j < s[i].length(); j++) {
				for (int k = 0; k < n[i]; k++) {
					System.out.print(s[i].charAt(j));
				}
			}
			System.out.println();
		}
	}
}
 

이 문제는 3중 포문을 통해서 각각의 배열반복, 횟수반복, 문자열 반복을 이용해주면 된다.

nextLine 으로 문자를 받을 때 앞에 공백 버퍼가 하나 생겨서 지워주었다. 이 방법에 대해선 조금 더 생각해봐야 할 것 같다.

 

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2908번 - 상수  (0) 2022.03.18
[백준] 2742 - 기찍N  (0) 2022.03.18
[백준] 2741 - N 찍기  (0) 2022.03.18
[백준] 11654번 - 아스키코드  (0) 2022.03.18
[백준] 2739번 - 구구단  (0) 2022.03.18
Comments