본문 바로가기
프로그래밍/백준 문제 풀이(자바)

백준 2675번 자바 문제 답/해설(문자열 반복 문제)

by 리드민 2021. 12. 6.
반응형

[1] 백준 카테고리
단계별로 풀어보기
문자열
4단계 2675번 문제
문자열 반복


[2] 문제

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.


1. 입력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 

2. 출력
각 테스트 케이스에 대해 P를 출력한다.


3. 예제 입력 1

2
3 ABC
5 /HTP


4.예제 출력 1
AAABBBCCC
/////HHHHHTTTTTPPPPP


[3] 정답

1. 정답 해설 미포함

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		int ca = in.nextInt();
		for(int i1 = 0; i1 < ca; i1++) {
	
			int count = in.nextInt();
			String str = in.next();
			
			for(int i2 = 0; i2 < str.length(); i2++) {  
				for(int i3 = 0; i3 < count; i3++) {
					System.out.print(str.charAt(i2));
				}
			}
            
			System.out.println();
		}
	}
}


2. 정답 해설 포함

import java.util.Scanner;
// java.util.Scanner를 import 한다
public class Main {
// 접근제어자가 public인 Main class를 선언한다

	public static void main(String[] args) {
	// 접근제어자 public으로 메모리에 상주하게 리턴값이 없이 main 함수를 선언한다.
		Scanner in = new Scanner(System.in);
		// Scanner 객체 in를 선언한다.

		int ca = in.nextInt();
		// int형 변수 ca를 선언하고 값을 입력받아 저장한다.
		for(int i1 = 0; i1 < ca; i1++) {
		// for문을 선언한다. 0~<ca 범위까지 반복되게 된다.

			int count = in.nextInt();
			// int형 변수 count를 선언하고 값을 입력받아 저장한다.
			String str = in.next();
			// String 변수 str를 선언하고 값을 입력받아 저장한다.

			for(int i2 = 0; i2 < str.length(); i2++) {  
			// for문을 선언한다. 0~<i2 범위까지 반복되게 된다.
				for(int i3 = 0; i3 < count; i3++) {
				// for문을 선언한다. 0~<count 범위까지 반복되게 된다.
					System.out.print(str.charAt(i2));
					// str.charAt(i2)를 출력한다. 한글자씩 출력되게 된다.
				}
			}

			System.out.println();
			// 공백이 출력된다.
		}
	}
}

str.charAt(i2) : String 변수 str에 저장된 문자열을 한글자씩 char 타입으로 변환해준다.

System.out.print(str.charAt(0)) : 첫번째 문자가 출력되게 된다.

System.out.print(str.charAt(1)) : 두번째 문자가 출력되게 된다.

System.out.print(str.charAt(3)) : 세번째 문자가 출력되게 된다.

반응형