본문 바로가기

알고리즘/백준

[백준] 2675 - 문자열 반복

반응형

2675번 문제

 

1. Scanner를 이용한 방법

import java.util.Scanner;

public class Main{
public static void main(String[] args){

    Scanner sc = new Scanner(System.in);
    int T = sc.nextInt();

    for(int i=0; i<T; i++){
        int R = sc.nextInt();
        String S = sc.next();

        for(int j=0; j<S.length(); j++){
            for(int k=0; k<R; k++){
                System.out.print(S.charAt(j));
            }
        }
        System.out.println();
        }
        sc.close();
    }
}

 

 

2. BufferedReader를 이용한 방법

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));
    StringBuilder sb = new StringBuilder();
    int T = Integer.parseInt(br.readLine());

    for(int i=0; i<T; i++){
        StringTokenizer st = new StringTokenizer(br.readLine());
        int R = Integer.parseInt(st.nextToken());
        String S = st.nextToken();

        for(int j=0; j<S.length(); j++){
            for(int k=0; k<R; k++){
            sb.append(S.charAt(j));
            }
        }
        sb.append("\n");
    }
        System.out.println(sb);
        br.close();
    }
}

BufferedReader 에서는 StringBuilder의 append() 메서드를 이용해서 출력이 마지막에 되도록 하는 게 가능했는데 Scanner를 이용한 방법에서는 입력 후 바로 출력이 되는 방법 밖에 없는 것 같다... 도저히 방법을 찾지 못했다.

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2908 - 상수  (0) 2024.02.29
[백준] 1152 - 단어의 개수  (0) 2024.02.28
[백준] 10809 - 알파벳 찾기  (0) 2024.02.26
[백준] 11720 - 숫자의 합  (0) 2024.02.25
[백준] 11654 - 아스키 코드  (0) 2024.02.24