처음에는 이게 도대체 뭔가 싶었는데...
쉽게 생각해서 배열 자리에 그냥 삽입하는 건가? 했더니 맞았음
뒤에 부터 봐서 2 1 1 0 이면
0 자리에 4 넣고, 1자리에 3, 1자리에 2, 2자리에 1 하면
4 # # #
4 3 # #
4 2 3 #
4 2 1 3
이렇게 넣고 그자리에 있는 거는 하나씩 뒤로 밀려나면 되기 때문에
배열에 집어넣은 거를 ArrayList에 넣으면 되는 것
ArrayList에 넣을 때에는 배열 뒤에 것 부터 넣는 것이 중요!!
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int[] arr = new int[n + 1];
List<Integer> list = new ArrayList<>();
st = new StringTokenizer(br.readLine(), " ");
for (int i = 1; i <= n; i++)
arr[i] = Integer.parseInt(st.nextToken());
for (int i = n; i >= 1; i--)
list.add(arr[i], i);
for (int ans : list)
bw.write(ans + " ");
bw.flush();
bw.close();
br.close();
}
}