상세 컨텐츠

본문 제목

2675. 문자열 반복

Algorithm

by aeongiii 2024. 11. 15. 09:42

본문


1. 문제 분석
    1) T개의 테스트케이스가 주어진다.
    2) 각 테스트케이스는 반복 횟수 R과 문자열 S가 주어진다.
    3) S의 각 문자를 R번 반복하여 출력한다.

2. 제약 조건
     1 ≤ T ≤ 1,000
     1 ≤ S ≤ 20
     1 ≤ R ≤ 8

3. 의사결정
    1) T를 입력받고, T만큼 for문을 돌린다.
    2) R과 S를 공백으로 구분하여 입력받는다.
    3) S를 char[]로 만들지 않고 인덱스를 사용해 R번 출력한다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // T 입력받기
        int T = Integer.parseInt(br.readLine());

        // R, S 입력받기
        for (int i = 0; i < T; i++) {

            // 한줄 입력받기
            String inputLine = br.readLine();
            // 기본적으로 띄어쓰기를 통해 나눔
            StringTokenizer st = new StringTokenizer(inputLine);

            // R과 S 추출
            int R = Integer.parseInt(st.nextToken());
            String S = st.nextToken();

            // S의 길이만큼 for문 돌면서 각 문자열을 R번 반복
            for (int j = 0; j < S.length(); j++) {
                char output = S.charAt(j);

                for (int k = 0; k < R; k++) {
                    System.out.print(output);
                }

            }

            // 개행처리
            System.out.println();

        }
    }
}

 

문제를 풀 때 딱히 어려움은 없었는데,
10개월 전에 이 문제를 푼 기록이 있어서 찾아봤다.

 

이전에 비해 메모리도 절약되었고, 시간도 반이나 줄였다!

 

 

'Algorithm' 카테고리의 다른 글

1152. 단어의 개수  (0) 2024.11.15
26041. 비슷한 전화번호 표시  (1) 2024.11.15
메모이제이션(Memoization)  (0) 2024.11.14
17478. 재귀함수가 뭔가요?  (1) 2024.11.14
9184. 신나는 함수 실행  (1) 2024.11.14

관련글 더보기