본문 바로가기

Algorithm/Baekjoon

백준(2675번) - 문자열 반복

백준(2675번) - 문자열 반복

 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net

 

문제

  • 문자열 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.  생성된 문자열 출력
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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
    // 2675 - 문자열 반복
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int t = Integer.valueOf(br.readLine());
        StringTokenizer st;
        int r;
        String s, c;
        for(int i=0; i<t; i++) {
            st = new StringTokenizer(br.readLine());
            r = Integer.valueOf(st.nextToken());
            s = st.nextToken();
            for(int j=0; j<s.length(); j++) {
                c = s.substring(j, j+1);
                for(int k=0; k<r; k++) {
                    sb.append(c);
                }
            }
            sb.append("\n");
        }
        System.out.println(sb);
    }
}
cs

'Algorithm > Baekjoon' 카테고리의 다른 글

백준(1152번) 단어의 개수  (0) 2021.07.25
백준(1157번) - 단어 공부  (0) 2021.07.22
백준(10809) - 알파벳 찾기  (0) 2021.07.19
백준(11720번) - 숫자의 합  (0) 2021.07.18
백준(11654번) - 아스키 코드  (0) 2021.07.18