링크

 

https://www.acmicpc.net/problem/2675

 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net


 

문제

 

 


풀이

 

2          -> 출력할 로우 개수

3 ABC   -> 첫 번째 로우

5 /HTP  -> 두 번째 로우

 

출력할 로우는 총 2번 이며

 

* 첫 번째 로우는 3번씩 ABC 를 각각 출력하면 된다.

결과 : AAABBBCCC

 

* 두 번째 로우는 5번씩 /HTP 를 각각 출력하면 된다.

결과 : /////HHHHHTTTTTPPPPP

 


어떤 알고리즘인지 파악하면 푸는데 어려움이 없다.

앞에 받은 숫자만큼 뒤에있는 문자열을 1개씩 읽어서 반복문들 실행시키면 된다.

 

위의 로직 구현

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	/**
	 * 문자열 반복
	 * @param args
	 */
	public static void main(String[] args) throws IOException {		
		BufferedReader br	= new BufferedReader(new InputStreamReader(System.in));
		int cnt 			= Integer.parseInt(br.readLine());
		StringBuilder sb 	= new StringBuilder();
		
		for (int k = 0; k < cnt; ++k) {
			String[] reqStrArr 	= br.readLine().split(" ");
			int loopCnt 		= Integer.parseInt(reqStrArr[0]);
			String str 			= reqStrArr[1];
			int strCnt 			= str.length();
			
			for (int i = 0; i < strCnt; ++i) {
				for (int j = 0; j < loopCnt; ++j) {
					sb.append(str.charAt(i));
				} //for -3
			} //for -2
			sb.append("\n");
		} //for -1
		System.out.println(sb.toString());
	}
}


 

후기

* 난이도 (5점 만점)

5 : 풀 줄 알면 기업 코딩테스트는 문제 없음.

4 : 평균적인 기업 코딩테스트의 중간 이상.

3 : 평균적인 기업 코딩테스트의 쉬운 문제 .

2 : 알고리즘 문제를 연습하고 있다면 풀 수 있는 문제.

1 : 시간이 오래 걸리지 않고, 누구나 풀 수 있는 문제.

 

난이도는 매우 쉬운 편이었으며 반복문을 이용하면 쉽게 풀 수 있다.

 

 

 

 

 

+ Recent posts