728x90
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=0;i<T;i++) {
int R = sc.nextInt();
String S = sc.next();
String[] strArray = S.split("");
for(int k=0;k<strArray.length;k++) {
for(int j=0;j<R;j++) {
System.out.print(strArray[k]);
}
}
System.out.println();
}
}
}
입력받은 문자열을 어떻게 한 글자씩 나누는지가 관건인 문제이다.
첫번째 방법으로 본인이 사용한 split메소드를 이용하는 방법,
두번째 방법으로 charAt메소드를 이용하는 방법이 있겠으나
위 문제에서는 몇글자가 주어질 지 모르기 때문에 인덱스로 접근하는데는 지장이 있다.
따라서 본인은 split을 사용하여 문제를 해결하였다.
테스트 케이스 T를 입력받고 T번만큼 반복시켜준다.
그 반복문 안에 R과 S를 입력받고 split으로 쪼개는 기능을 구현하고
0부터 split 의 결과를 저장한 배열인 strArray의 크기만큼 반복시키며
ex. 0번째 숫자를 3번 반복
1번째 숫자를 3번 반복
2번째 숫자를 3번 반복에서 ~번째를 담당하는 반복문
내부에 ~번 반복 을 담당하는 반복문을 넣어주면 알고리즘 완성.
728x90
'백준 단계별' 카테고리의 다른 글
[Java] 백준 2908: 상수 (0) | 2023.01.18 |
---|---|
[Java] 백준 1152: 단어의 개수 (0) | 2023.01.17 |
[Java] 백준 10809: 알파벳 찾기 (0) | 2023.01.13 |
[Java] 백준 11720: 숫자의 합 (0) | 2023.01.13 |
[Java] 백준 11654: 아스키 코드 (0) | 2023.01.13 |