브론즈II
https://www.acmicpc.net/problem/2675
문제
문자열 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글자를 넘지 않는다.
접근방법
각 반복횟수에 따라 문자를 반복하여 새로운 문자열을 저장하는 배열에 저장하여 출력한다.
코드
package bj2675;
import java.util.Scanner;
public class bj2675 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int test_case = sc.nextInt(); //TEST CASE 개수 입력
int[] count = new int[test_case];
String[] s = new String[test_case];
String[] new_s = new String[test_case];
for(int i = 0; i < test_case; i++) {
count[i] = sc.nextInt(); //반복 횟수 입력
s[i] = sc.next(); //문자열 입력
new_s[i] = ""; //새로운 문자열 비워주기
for(int j = 0; j < s[i].length(); j++) { //문자열 길이만큼 반복
for(int k = 0; k < count[i]; k++) { //반복횟수만큼 new_s에 문자 넣기
new_s[i] += s[i].charAt(j);
}
}
}
//결과 출력
for(int i = 0; i < test_case; i++) {
System.out.println(new_s[i]);
}
}
}
NOTE
처음에 새로운 문자열을 저장하는 new_s[]를 초기화 시켜주지 않아 문자열이 저장될 때 계속 앞에 null이 같이 저장되었다.
'💻 Algorithm > Baekjoon' 카테고리의 다른 글
[JAVA] 백준 2920 - 음계 (0) | 2022.07.01 |
---|---|
[JAVA] 백준 2908 - 상수 (0) | 2022.06.28 |
[JAVA] 백준 1546 - 평균 (0) | 2022.06.27 |
[JAVA] 백준 1157 - 단어 공부 (0) | 2022.06.27 |
[JAVA] 백준 1152 - 단어의 개수 (0) | 2022.06.27 |