본문 바로가기
코딩공부/백준 (java)

[백준 2675] 문자열 반복 (java)

by CodingKwon 2021. 7. 8.

문제 링크

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

 

2675번: 문자열 반복

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

www.acmicpc.net

 

나의 코드 (java)

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++) {
                // 한 문자씩 R만큼 반복
                for (int k=0; k<R; k++) {
                    char c = S.charAt(j);
                    System.out.print(c);
                }
            }
            System.out.println();
        }
    }
}

 

이 문제는 nextLine()을 사용하면 곤란해집니다. 이유는 반복할 횟수와 반복할 문자열 사이에 공백이 존재하기 때문입니다.

nextLine()을 쓰게 되면 공백까지 반복하게 됩니다.

따라서, next()를 사용하는 것이 좋습니다.

댓글