본문 바로가기
백준 Algorithm/백준 CLASS1

[백준] CLASS1 2675번 : 문자열 반복 - JAVA [자바]

by Echung 2023. 9. 24.

 안녕하세요. 이번에는 백준 2675 문자열 반복 문제를 풀어보려고 합니다.

 

https://www.acmicpc.net/problem/2675

 

2675번: 문자열 반복

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

www.acmicpc.net


Problem

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

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.

사진 1. 문제


Solution

import java.io.*;
import java.util.*;

public class Main {
    
    static StringBuilder sb = new StringBuilder();
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int N = Integer.parseInt(br.readLine());
        
        for(int i = 0; i < N; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine()); 
            int num = Integer.parseInt(st.nextToken());
            String str = st.nextToken();

            repeatString(num, str);
            sb.append("\n");
        }
        
        System.out.println(sb.toString());
    }
    
    public static void repeatString(int num, String str) { 
        for(int i = 0; i < str.length(); i++) {
            repeat(num, str.charAt(i));    
        }    
    }
    
    public static void repeat(int num, char c) {
        for(int i = 0; i < num; i++) {
            sb.append(c);
        }
    }
}

 

  이번 문제는 주어지는 숫자만큼 주어진 글자들을 첫 번째 자리부터 반복하는 문제이다. repeatString에 반복 횟수와 글자를 보내주고받은 글자의 char과 반복 횟수 num을 repeat에 보내주면서 StringBuilder에 저장한 후 출력해 주면 된다.


Performance

사진 2. 출력 결과

반응형