알고리즘/백준
[백준] 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 으로 문자를 받을 때 앞에 공백 버퍼가 하나 생겨서 지워주었다. 이 방법에 대해선 조금 더 생각해봐야 할 것 같다.