본문 바로가기
Baekjoon 자바 코드/문자열

[백준] 2675번 문자열 반복 풀이 코드 (Java 자바)

by 망댕이 2024. 9. 3.
반응형

 

두 번째 줄부터 왼쪽 정수 숫자만큼 오른쪽 문자열의 각 문자를 반복하여 출력하는 문제이다.상당히 쉬운문제에 속하여 for문을 조금만 이용한다면 쉽게 풀 수 있다.

접근 방법)

첫째 줄에 테스트 케이스의 개수를 입력 받아, 그 수 만큼 반복하도록 for문을 생성한다.그 다음 둘째 줄 부터 정수(R)와 문자열(S)을 각 각 입력 받고 문자열 길이 만큼 반복하는 for문을 생성한다.마지막으로 그 for문안에서 문자를 하나씩 R만큼 반복하여 출력하는 코드를 작성하면 올바른 출력 결과가 만들어진다.

 

 

▷ 문자열 각 문자마다 반복 출력하기

 

총 for문을 3번 이용하여 각 문자를 반복 출력할 수 있다.

s.charAt()을 사용하여 문자를 출력하고 2번째 for문 밖에서 System.out.println()을 입력하여 다음 행에 출력될 수 있도록 해야한다는 것을 까먹으면 안된다.

for(int i = 0; i < t; i++){ // 첫번째 줄 입력값 t만큼 반복
    int r = sc.nextInt(); // Scanner sc = new Scanner(System.in);
    String s = sc.next();
    for(int j = 0; j < s.length(); j++){ // 두번째 줄의 문자열 길이 만큼 반복
        for(int k = 0; k < r; k++){ // 두번째 줄 정수 r 만큼 반복
            System.out.print(s.charAt(j)); // s.charAt()을 사용하여 문자를 하나씩 반복 출력
        }
    }
    System.out.println();
}

 

정답 코드 1)

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
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 str = sc.next();
            for(int j = 0; j < str.length(); j++){
                for(int k = 0; k < r; k++){
                    System.out.print(str.charAt(j));
                }
            }
            System.out.println();
        }
    }
}
반응형