관리 메뉴

Just Do it

[백준/자바] 2675번: 문자열 반복 본문

카테고리 없음

[백준/자바] 2675번: 문자열 반복

Seojoo21 2022. 2. 3. 14:52

1. 문제

https://www.acmicpc.net/problem/2675

 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net

2. 내 코드

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st; 
		StringBuilder sb = new StringBuilder();
		
		int T = Integer.parseInt(br.readLine());
		String[] arr = new String[T];
		int num = 0;
		
		for (int i=0; i<T; i++) {
			st = new StringTokenizer(br.readLine(), " ");
			num = Integer.parseInt(st.nextToken());
			String str = st.nextToken(); 
			// 1. 입력되는 3 ABC, 5 /HTTP를 공백 기준으로 나누어 각각 num과 str에 넣어놓는다. 
			
			arr[i] = str; // 2. str에 넣어둔 ABC, /HTP를 arr 배열에 넣는다. 
			
			// 3.arr 배열 요소 하나씩 불러온다.  
			for (int j=0; j<str.length(); j++) {  
				for(int k=0; k<num; k++) { // 
					sb.append(arr[i].charAt(j));
				} // 4. 배열 요소로 저장된 str 문자열을 charAt을 이용해 문자로 나누어 num만큼 출력될 수 있도록 반복하고 sb에 저장한다. 이걸 str의 길이만큼(str.length) 반복해준다.     
			}
			sb.append('\n'); // 5. 줄바꿈 추가 
		}
		
		System.out.println(sb); // 6. 최종 출력 
		
	}		
}

 

3. 다시 체크할 부분

1.  이중 반복문에 조금 익숙해진 것 축하 짝짞짞짞.

그동안 블로그에 올려놓은 오답 문제들 다시 코드 복습하면 더 익숙해질거다! 반복만이 생명!