[BOJ] 2675번 문자열 반복 - JAVA

최영환·2022년 9월 24일
0

BaekJoon

목록 보기
8/87
post-thumbnail
## Java 풀이 시 유의사항 ##
클래스명은 Main 으로 작성해야함!

💡 문제

💬 입출력 예시

📌 풀이(소스코드)

// 풀이 1
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.nextLine();
            String p = "";

            for (char c: s.toCharArray()) {
                for (int j = 0; j < r; j++) {
                    p += c;
                }
            }
            System.out.println(p.trim());
        }
        sc.close();
    }
}

// 풀이 2
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
    
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
        
		int T = Integer.parseInt(br.readLine());        
 
		for (int i = 0; i < T; i++) {
 
			String[] str = br.readLine().split(" ");
 
			int R = Integer.parseInt(str[0]);
 
			for (byte val : str[1].getBytes()) {
				for (int j = 0; j < R; j++) {
					sb.append((char)val);
				}
			}
			sb.append('\n');
		}
		System.out.print(sb);
	}
 
}

📄 해설

  • 단순히 문자열을 입력받고, 반복 횟수만큼 각 문자를 반복해서 결과 문자열에 추가를 해준 뒤, 출력을 해주면 되는 문제

  • 그다지 어렵지는 않은 문제이나, 이번에도 풀이 1풀이 2 의 결과를 비교하면 풀이 2 의 코드가 훨씬 더 좋은 코드임을 알 수 있음

  • 약 2배의 시간차이를 보임

profile
조금 느릴게요~

0개의 댓글