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

    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

    댓글