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
'Algorithm > Java' 카테고리의 다른 글
[백준] n.2908 - 상수를 거꾸로 읽어 크기 비교 후 값 출력 (0) | 2023.05.22 |
---|---|
[백준] n.1152 - 문자열 속 단어 개수 세기 (공백 유의) (0) | 2023.05.21 |
[백준] n.10809 - 한 단어에 있는 알파벳의 위치 찾기 (0) | 2023.05.18 |
[백준] n.9086 - 각 문자열의 first, last 문자를 함께 출력하기 (0) | 2023.05.17 |
[백준] n.27866 - 문자열 속 i번째 글자 출력 (0) | 2023.05.16 |
댓글