반응형
이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제
문자열 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
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// 2675번 문제
public class Main {
public static void main(String[]args) throws IOException {
try {
BufferedReader rd = new BufferedReader(new InputStreamReader (System.in));
// 첫째 줄에 테스트 케이스의 개수가 주어진다.
int T = Integer.parseInt(rd.readLine());
for(int i=0; i<T; i++) {
// 문자열 S를 입력 받는다.
String S[] = rd.readLine().split(" ");
// 반복할 값을 입력 받는다.
int R = Integer.parseInt(S[0]);
// 공백으로 잘라냈기 때문에 S의 1번에 들어오는 값은 문자의 첫번 째 값이다.
String text = S[1];
// text에 입력된 S[] 배열값을 반복해서 출력
for(int j=0;j<text.length();j++) {
for(int k=0;k<R;k++) {
// 스트링 타입을 문자열로 출력한다.
System.out.print(text.charAt(j));
}
}
System.out.println();
}
}
catch(IOException e) {
System.out.println("error");
}
}
}
|
풀이
풀이를 주석으로 진행했다.
문제 해결 접근 방법은 다음과 같다.
1. 반복할 값을 입력받는다.
2. 글자와 몇 번 반복할 것인지 "반복 횟수" "글자" 순으로 입력받는다.
3. 글자를 반복 횟수만큼 반복한다.
감사합니다.
다음 포스팅 때 뵙겠습니다.
반응형
'백준 - Java' 카테고리의 다른 글
[백준 - 2884] [Java] 알람 시계 (0) | 2022.05.11 |
---|---|
[ 백준 - 2675 ][Java] OX퀴즈 (0) | 2022.05.10 |
[ 백준 - 2798 ] [Java] 블랙잭 (0) | 2022.05.08 |
[ 백준 - 2439 ] [Java] 별 찍기 - 2 (0) | 2022.05.08 |
[ 백준 - 1978] [Java] 소수 찾기 (0) | 2022.05.06 |