본문 바로가기

Java

[Java] Baekjoon_P2675 문자열 입력받아 반복 출력

Problem

첫 입력은 반복할 문자열의 개수이다. 

두번째 입력부터는 먼저 반복 횟수가 오고, 공백이 있고나서 해당 문자열이 온다.

 

Idea

1. 문자열을 입력받아서 쪼갠 후 StringBuilder를 통해 새로운 문자열을 구성할 것이고,

2. 여러 번의 입력을 모아서 한 번의 출력으로 출력해야 하므로, StringBuilder sb에 각 문자열의 저장이 끝날 때마다 '\n'을 저장하여 개행을 시켰다.

 

Code

// Repeat 'R' times string 'S' <- seperated by a blank
// The number of cases is 'T'

import java.util.Scanner;

//import sun.security.util.Length;

public class baekjoon_P2675 {

	public static void main(String[] args) {
		int T = 0; // Number of test cases 1 ~ 1000
		int R = 0; // Number of repeats 1 ~ 8
		String S; // The target string to repeat 'R' times
		
		Scanner sc1 = new Scanner(System.in);
		T = sc1.nextInt();
		StringBuilder sb = new StringBuilder();

		
		for(int i = T; i > 0; i--) { // iterate this for loop T times
			Scanner sc2 = new Scanner(System.in);
			String str = sc2.nextLine();
			
			R = Character.getNumericValue(str.charAt(0)); // number of repeat
			S = str.substring(2,str.length());
			int N = S.length();
			
			
			for(int j = 0; j < N; j++) {
				for(int k = R; k>0; k--)
					sb.append(S.charAt(j));
			}
			sb.append('\n');
			
		}
		System.out.println(sb);
	}

}

 

 

Result