1+
2+ /*
3+ * SWEA 1228번(D3) - 암호문1
4+ * List 활용.
5+ */
6+
7+ import java .io .BufferedReader ;
8+ import java .io .IOException ;
9+ import java .io .InputStreamReader ;
10+ import java .util .LinkedList ;
11+ import java .util .List ;
12+ import java .util .StringTokenizer ;
13+
14+ public class SWEA1228 {
15+
16+ public static void main (String [] args ) throws IOException {
17+
18+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
19+ StringBuilder sb = new StringBuilder ();
20+
21+ for (int tc =1 ; tc <=10 ; tc ++) {
22+ sb .append ("#" + tc + " " );
23+ List <String > list = new LinkedList <>();
24+ int N = Integer .parseInt (br .readLine ()); // 10 <= N <= 20 원본 암호문의 길이
25+ String origin [] = br .readLine ().split (" " );
26+ for (int i =0 ; i <N ; i ++) {
27+ list .add ((origin [i ]));
28+ }
29+
30+ int k = Integer .parseInt (br .readLine ()); // 5 <= k <= 10 명령어의 개수
31+ String input = br .readLine ();
32+ StringTokenizer st = new StringTokenizer (input , " " );
33+ for (int j =0 ; j <k ; j ++) {
34+ st .nextToken (); // I는 그냥 버림
35+ int startPos = Integer .parseInt (st .nextToken ()); // 시작 위치
36+ int nOfCrypt = Integer .parseInt (st .nextToken ()); // 새로운 암호문 개수
37+ for (int x =0 ; x <nOfCrypt ; x ++) {
38+ int insertPos = startPos + x ; // 삽입 위치
39+ String newCrypt = st .nextToken (); // 새로운 암호문
40+ list .add (insertPos , newCrypt );
41+ }
42+ }
43+
44+ // Output
45+ for (int i =0 ; i <10 ; i ++) {
46+ sb .append (list .get (i ) + " " );
47+ }
48+ sb .append ("\n " );
49+ }
50+ System .out .println (sb );
51+ }
52+ }
0 commit comments