SWEA_D3_1229
๐ [D3_1229] ์ํธ๋ฌธ2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Solution {
static StringTokenizer st;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
for (int T = 1; T <= 10; T++) {
sb.append("#");
sb.append(T).append(" ");
// ์๋ณธ ์ํธ๋ฌธ ๊ธธ์ด
int N = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine(), " ");
ArrayList<Integer> arr = new ArrayList<Integer>();
// ์๋ณธ ์ํธ๋ฌธ
for (int i = 0; i < N; i++) {
arr.add(Integer.parseInt(st.nextToken()));
}
// ๋ช
๋ น์ด ๊ฐ์
int cnt = Integer.parseInt(br.readLine());
String[] arr_2 = new String[cnt];
// 'I,D'๋ฅผ ๊ฒฝ๊ณ๋ก ๋๋๊ธฐ -> ๋ฐฐ์ด arr_2์ ์ ์ฅ
st = new StringTokenizer(br.readLine(), "I|D");
for (int i = 0; i < cnt; i++) {
arr_2[i] = st.nextToken();
}
// y๊ฐ์ ์ซ์๋งํผ arr_int ๋ฐฐ์ด์ ์ ์ฅ
for (int i = 0; i < cnt; i++) {
String[] arr_int = arr_2[i].split(" ");
// D์ธ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 3 ( ๊ณต๋ฐฑ, x, y)
if (arr_int.length == 3) {
// ์ญ์ ํ ์์น (x๊ฐ)
int loc = Integer.parseInt(arr_int[1]);
int temp = 0;
// x ์์น์์ y ๊ฐ์ ๋งํผ ์ญ์ ํ๊ธฐ
for(int j=0; j<Integer.parseInt(arr_int[2]); j++) {
arr.remove(loc);
}
}
// I์ธ๊ฒฝ์ฐ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 4์ด์
else {
// ์ถ๊ฐ๋ ์์น (x๊ฐ)
int loc = Integer.parseInt(arr_int[1]);
// loc์์น ๊ณ์ ์ฆ๊ฐํด์ค ๋ณ์
int temp = 0;
// x ์์น์์ y ๊ฐ์ ๋งํผ ์ถ๊ฐ์ํค๊ธฐ
for (int j = 3; j < 3 + Integer.parseInt(arr_int[2]); j++) {
arr.add(loc + temp, Integer.parseInt(arr_int[j]));
temp++;
}
}
}
for (int i = 0; i < 10; i++) {
sb.append(arr.get(i)).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
}
}
๐ค ๋์ ์๊ฐ
์ ์ฒด ๊ฐ๋ค์ โIโ์ โDโ๋ฅผ ๊ฒฝ๊ณ๋ก ๋๋๊ณ
โDโ ๋ฐฐ์ด์ ํน์ง์ ๊ธธ์ด๊ฐ 3์ผ๋ก ๊ณ ์ ์ธ ๊ฒ์ด๋ค.
๊ทธ ํน์ง์ ์ด์ฉํด โIโ๋ ์ถ๊ฐ๋ฅผ โDโ๋ ์ญ์ ๋ฅผ ํ๋ ๋ฐฉ์์ผ๋ก ์์ฑํ๋ค.
์ฌ๊ธฐ์ ์ฝ๊ฐ ์ฃผ์ํ ์ ์ โDโ๋ฅผ ๊ตฌํํ ๋ ArrayList๋ ์ญ์ ๋๋ฉด ํ ์นธ์ฉ ์๋์ผ๋ก ๋๊ฒจ์ง๋ค. ๊ทธ๋์ ์์น๋ฅผ ์ฎ๊ฒจ์ค ํ์๊ฐ ์๋ค.