1) Scanner을 이용한 풀이
import java.util.Scanner;
public class Back_2675 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int testCase = sc.nextInt();
for (int i = 0; i < testCase; i++) {
// 반복할 횟수
int r = sc.nextInt();
String str = sc.next();
// 입력받은 문자 길이만큼 탐색하는 반복문
for (int j = 0; j < str.length(); j++) {
// 반복할 횟수만큼 한 문자 출력하기
for (int k = 0; k < r; k++) {
System.out.print(str.charAt(j));
}
}
// 한 단어의 반복 이후 띄워줘야 한다.
System.out.println();
}
}
}
2) Buffered을 이용한 풀이
● StringTokenizer을 사용해 풀이했다.
● Buffered은 Scanner와 다르게 따로 형태를 지정하는 메소드가 없고 기본적으로 문자로 입력을 받기 때문에, int 형 변수에 저장하기
위해선 반드시 Integer.parseInt를 사용해 형변환을 해야 한다.
package Back_StringArr_re;
import java.io.*;
import java.util.StringTokenizer;
public class Back_2675_buffered {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testCase = Integer.parseInt(br.readLine());
// 입력받을 때 공백이 발생하기 때문에 StringTokenizer 사용
StringTokenizer st;
for (int i = 0; i < testCase; i++) {
// 공백을 기점으로 입력받은 문자를 Token으로 나눈다.
st = new StringTokenizer(br.readLine());
// r과 str에 Token을 순서대로 저장
int r = Integer.parseInt(st.nextToken());
String str = st.nextToken();
for (int j = 0; j < str.length(); j++) {
for (int k = 0; k < r; k++) {
System.out.print(str.charAt(j));
}
}
System.out.println();
}
}
}
'알고리즘 정리' 카테고리의 다른 글
백준 1152번[문자열] 단어의 개수 (0) | 2021.10.20 |
---|---|
백준 1157번[문자열] 단어 공부 (0) | 2021.10.20 |
백준 10809번[문자열] 알파벳 찾기 (0) | 2021.10.20 |
백준 11720번[문자열] 숫자의 합 (0) | 2021.10.20 |
백준 11654번[문자열] 아스키코드 (0) | 2021.10.20 |