이 문제는 입력 받은 숫자 만큼 문자열을 한글자씩 반복하여 붙이는 작업을 요구하는 문제이다. 그렇기 때문에 StringBuilder를 사용하면 아주 편리하다. StringBuilder에 대해 잘 모른다면 아래 자세히 설명해 놓았으니 참고바란다.
ckprk.tistory.com/21?category=957523
[자바] StringBuilder 사용하는 이유, 사용법, 함수(메소드) 정리
자바에서 String 하면 문자열이 떠오를 것이다. String str1 = "Hello"; String str2 = " World"; 라고 한다면 두개의 객체가 생성되어 각각 하나의 문자열을 가진다. 그리고 이 문자열을 더하는 행위를 했을 때
ckprk.tistory.com
아래는 내가 짠 코드이다
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
for(int t=0; t<n; t++) { //테스트케이스 수
StringTokenizer st = new StringTokenizer(br.readLine());
int r = Integer.parseInt(st.nextToken()); //r번 반복
String str = st.nextToken(); //문자열
StringBuilder sb = new StringBuilder(); //반복할 때마다 붙여넣기 위해 StringBuilder 사용
for(int i=0; i<str.length(); i++) {
for(int j=0; j<r; j++) {
sb.append(str.charAt(i)); //문자열 첫번째자리부터 r번만큼 반복하여 sb에 붙여줘서 완성시키기
}
}
bw.write(sb + "\n");
bw.flush();
}
}
}
StringBuilder가 무엇인지, StringBuilder의 함수 append의 사용법을 알고 있다면 이 문제는 어렵지 않을 것이다.
반응형
'백준' 카테고리의 다른 글
[자바] 백준 - 10828번 (스택) (0) | 2021.04.12 |
---|---|
[자바] 백준 - 1152번(단어의 개수) (0) | 2021.04.05 |
[자바] 백준 - 3052번(나머지) (0) | 2021.04.05 |
[자바] 백준 - 11720번 (숫자의 합) (0) | 2021.04.05 |
[자바] 백준 - 1065번(한수) (0) | 2021.04.05 |