remagine
알고리즘 풀기 (10) 문자열 반복 (약간 쉬움) 본문
문제
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 T를 만든 후 출력하는 프로그램을 작성하시오.
다시 설명하자면, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 T를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./: 이다.
입력
첫째 줄에 테스트 케이스의 개수 T(1 <= T <= 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 <= R <= 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.
출력
각 테스트 케이스에 대해 T를 출력한다.
1. 내 풀이
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 33 34 35 36 37 38 39 40 41 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { public static void main(String... args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int test = Integer.parseInt(br.readLine()); // 테스트 케이스 갯수 ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i < test; i++) { list.add(br.readLine()); // 테스트 케이스 갯수 만큼 문자열이 한줄씩 넣어짐 } br.close(); for (int l = 0; l < list.size(); l++) { String S = list.get(l); // 공백으로 구분되어 반복횟수가 주어짐 String result = ""; String[] array = S.split(" "); int testCase = Integer.parseInt(array[0]); // 반복횟수 String testString = array[1]; // 문자열 for (int j = 0; j < testString.length(); j++) { char c = testString.charAt(j); for (int k = 0; k < testCase; k++) { result += c; } } System.out.println(result); result = ""; } } } | cs |
2. 다른 풀이
import java.io.*;
class Main {public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());String[] reader = new String[2];for (int i = 0; i < n; i++) {reader = br.readLine().split(" ");for (int j = 0; j < reader[1].length(); j++) {for (int k = 0; k < Integer.parseInt(reader[0]); k++) {System.out.print(reader[1].charAt(j));}}System.out.println();}}}
'알고리즘' 카테고리의 다른 글
알고리즘 풀기 (12) : A binary gap (0) | 2017.08.18 |
---|---|
알고리즘 풀기 (9) 벌집 (보통) (0) | 2017.07.20 |
알고리즘 풀기 (8) 분수찾기 (보통) (0) | 2017.06.29 |
알고리즘 풀기 (7) 알파벳 찾기 (쉬움) (0) | 2017.06.29 |
알고리즘 풀기 (6) OX퀴즈 (쉬움) (0) | 2017.06.27 |
Comments