[swexpert] 1228. 암호문1 (java, D3)

728x90
반응형

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Solution {
	static int n;
	static ArrayList<Integer> password;
	
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		int tc=1;
		String input="";
		while((input=br.readLine())!=null) {
			n=Integer.parseInt(input);
			password=new ArrayList<>();
			st=new StringTokenizer(br.readLine());
			for (int i = 0; i < n; i++) {
				password.add(Integer.parseInt(st.nextToken()));
			}
			n=Integer.parseInt(br.readLine());
				// 한 줄을 쭉 입력받다가 
				st=new StringTokenizer(br.readLine());
				int idx=0; // 새로운 원소를 추가할 인덱스
				int m=0; // 추가하는 원소 개수 
				while(n>0) { //n번의 명령어 수행시 탈출
					if(st.nextToken().charAt(0)=='I') { // 명령어 기준은 I
						idx=Integer.parseInt(st.nextToken());
						m=Integer.parseInt(st.nextToken());
						n-=1;
					}
					for (int j = 0; j <m; j++) {
						password.add(idx,Integer.parseInt(st.nextToken()));//index는 위치는 계속 증가함.
                        //우리는 for문을 돌지만 한 번에 넣는것 처럼 넣어줘야 하므로
					}
				}
				
			
			System.out.printf("#%d ",tc++);
			for (int i = 0; i <10; i++) {
				System.out.printf("%d ",password.get(i));
			}
			System.out.println();
		}
		
	}
}
728x90
반응형
TAGS.

Comments