Algorithm/Java

[백준] n.2675 - 문자열에 속해있는 각 문자를 원하는 횟수만큼 반복하기

보라해바라기 2023. 5. 19. 10:12
SMALL

1. 문제
https://www.acmicpc.net/problem/2675

 

2675번: 문자열 반복

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

www.acmicpc.net

 

2. 주요 개념
-  스캐너 (int, String)

- 중첩 반복문 (for문)

- 문자열.charAt() : 문자열에서 index 값에 따른 문자 추출

3. 나의 풀이 (*은 잘 안풀린 부분)

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

public class Main {

  public static void main(String[] args) {

    Scanner s = new Scanner(System.in);

    int t = s.nextInt();
    // 테스트 케이스 개수

    int r; // 반복 횟수

    char c;
    // ** 문자를 저장할 char형 변수
    
    String str, p = "";
    // s: 문자열 입력, p: 새 문자열

    for (int i=0; i<t; i++) {
      r = s.nextInt();
      str = s.next();
      String[] str_split = str.split("");
      // 문자 갯수를 구하기 위한 split 배열
      
      for (int j=0; j<str_split.length; j++) {
        c = str.charAt(j);
        for (int k=0; k<r; k++) {
          p += c;
          // ** 같은 문자들을 반복적으로 더하여 문자열로 만들기
        }
      }
      System.out.println(p);
      p ="";
    }
      
 }

}


4. 짚고 넘어가기!

- charAt으로 추출한 문자를 저장할 char 형 변수 필요 > char c 선언!

- 새로운 문자열을 저장할 p에 반복된 문자 저장 > c를 반복문에 넣어 p에 저장하도록!

728x90