상세 컨텐츠

본문 제목

JAVA. 백준 알고리즘 단계별 문제 7단계(문제 번호 2675)

공-부/백준 알고리즘

by 사랑짱 2021. 6. 1. 19:47

본문

(문제 번호 2675)

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오.

 

문제 해결 포인트

문자열을 문자 단위로 나누어 입력된 수 n만큼 반복하여 출력해야 한다.

문자열을 Scanner로 입력 받을 때와 BufferedReader로 입력 받는 방법이 있다.

두 가지 방법으로 코드를 작성하며 차이를 알아보자.

 

 

문제 해결 과정

첫번째 방법, Scanner로 문자열 입력받기

1. Scanner를 통해 케이스의 수를 입력 받는다.

2. Scanner를 통해 반복되는 횟수와 문자열을 입력 받는다. 

3. charAt( )을 이용해 해당 인덱스를 추출하여 n만큼 반복하여 출력한다(print 사용).

4. 케이스의 개수만큼 2-3번을 반복한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class No06_2 {
 
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        System.out.println(st.countTokens());
        
    }    //main
    
}    //End class
cs

 

 


 

두번째 방법, BufferedReader로 문자열 입력받기

1. BufferedReader로 케이스의 수를 입력받는다.

   이때, BufferedReader는 String타입으로 반환하니 Integer.parseInt()로 변환해야한다.

2.  반복되는 횟수와 문자열을 입력받는다.

   이때, ufferedReader.readLine( )은 한 줄을 통째로 입력받기 때문에 split(" ")으로 구분해줘야 한다.

3. charAt( )을 이용해 해당 인덱스를 추출하여 n만큼 반복하여 출력한다(print 사용).

4. 케이스의 개수만큼 2-3번을 반복한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class No04_2 {
 
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int T = Integer.parseInt(br.readLine());
        
        for(int i = 0; i < T; i++) {
            
            String[] str = br.readLine().split(" ");
            
            int n = Integer.parseInt(str[0]);
            String s = str[1];
            
            for(int j = 0; j < s.length(); j++) {           
                 for(int k = 0; k < n; k++) {
                      System.out.print(s.charAt(j));
                   }
             }
 
            System.out.println();
            
        }    //for
        
    }    //main
    
}    //class
cs

 

 

관련글 더보기