코딩공부/백준 (java)
[백준 2675] 문자열 반복 (java)
CodingKwon
2021. 7. 8. 23:54
문제 링크
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()를 사용하는 것이 좋습니다.