728x90
반응형
문제
문자열 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글자를 넘지 않는다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int count = scanner.nextInt();
String res = "";
for (int i = 0; i < count; i++) {
int num = scanner.nextInt();
String alpha = scanner.next();
String[] beta = alpha.split("");
for (int j = 0; j < beta.length; j++) {
for (int k = 0; k < num; k++) {
res += beta[j];
}
}
res += "\n";
}
System.out.println(res);
}
}
1.
입력 받을 숫자를 'count'에 입력 받아준다.
int count = scanner.nextInt();
첫번째 for문을 돌려 'count'의 수 만큼 num와 alpha로 입력받아준다.
그리고 alpha에 입력받은 문자열을 split로 잘라 배열 안에 넣어준다.
for (int i = 0; i < count; i++) {
int num = scanner.nextInt();
String alpha = scanner.next();
String[] beta = alpha.split("");
예를 들어
alpha에 love 를 입력받는다고 치면
beta = {l,o,v,e} 가 입력되는 것.
2.
for (int j = 0; j < beta.length; j++) {
for (int k = 0; k < num; k++) {
res += beta[j];
}
}
res += "\n";
}
System.out.println(res);
num에는 3을. alpha에는 love를 입력받는다고 치면,
love 라는 각 알파벳들을 총 3번씩 출력해야 하기 때문에 (ex) lllooovvveee)
beta 안의 각 알파벳을 num의 수(=3) 만큼 차례대로 출력시킨다.
728x90
반응형
'백준' 카테고리의 다른 글
[JAVA] 백준 8958번 OX퀴즈 (0) | 2023.03.07 |
---|---|
[JAVA] 백준 2920번 음계 (0) | 2023.03.06 |
[JAVA] 백준 2562번 최댓값 (0) | 2023.03.02 |
[JAVA] 백준 10807번 개수 세기 (0) | 2023.03.01 |
[JAVA] 백준 25304번 영수증 (0) | 2023.03.01 |