문자열 반복 (2675) 풀이

2023. 6. 16. 15:09BaekJoon/문자열

문제내용

사용자에게 테스트 개수 T, 문자 반복 횟수 R, 문자열 S를 입력받아 테스트 개수 동안 문자 반복횟수대로 각 문자를 반복해 문자열을 출력하는 문제이다.


풀이

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));
		StringTokenizer st;
		int t = Integer.parseInt(br.readLine());
		
		for(int i = 0; i < t; i++){
			st = new StringTokenizer(br.readLine());
			int r = Integer.parseInt(st.nextToken());
			String s = st.nextToken();
			String result = "";
			for(int j = 0; j < s.length(); j++){
				for(int k = 0; k < r; k++){
					result += s.charAt(j)+"";
				}
			}
			bw.write(result);
			bw.write("\n");
		}
		bw.flush();
		bw.close();
	}

}

사용자에게 테스트 수와 문자 반복 횟수, 문자열을 입력받기 위해 BufferedReader와 StringTokenizer를 사용했다.

첫번째 for문에서 테스트 수만큼 반복해 문자 반복 횟수와 문자열을 입력받아 두번째for문은 문자열만큼 반복하고 세번째 for문은 문자반복횟수만큼 반복해 문자열 자료형 result에 문자를 넣어줬다.

이해하기 쉽게 다시 말하자면 반복 횟수 3번에 ABC가 있다면 첫번째 for문에서 입력을 받고 2,3번째 for문을 통해 AAA,BBB,CCC를 각각 result에 더해 AAABBBCCC로 만들어 출력한 것이다.

출력은 BufferedWriter를 사용해 출력했다.


겪었던 문제

이 문제를 풀면서 겪은 문제는 없다.

'BaekJoon > 문자열' 카테고리의 다른 글

상수 (2908) 풀이  (0) 2023.06.20
단어의 개수 (1152) 풀이  (0) 2023.06.20
알파벳 찾기 (10809) 풀이  (0) 2023.06.16
숫자의 합 (11720) 풀이  (2) 2023.06.16
아스키 코드 (11654) 풀이  (0) 2023.06.16