안녕하세요. 이번에는 백준 2675 문자열 반복 문제를 풀어보려고 합니다.
https://www.acmicpc.net/problem/2675
Problem
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.
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
반응형
'백준 Algorithm > 백준 CLASS1' 카테고리의 다른 글
[백준] CLASS1 11720번 : 숫자의 합 - JAVA [자바] (0) | 2023.09.26 |
---|---|
[백준] CLASS1 10818번 : 최소, 최대 - JAVA [자바] (0) | 2023.09.25 |
[백준] CLASS1 2562번 : 최댓값 - JAVA [자바] (0) | 2023.09.23 |