첫번째 방법
N에서 1까지 돌면서 주어진 인덱스 자리에 삽입하면 된다.
두번째 방법
1에서 N까지 돌면서 왼쪽 사람 수만큼 자리를 비워주고 배열을 채워주면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Solution1138 {
static int N;
static int[] arr;
static int[] ans;
public static void main(String[] args) throws IOException{
//4
//2 1 1 0
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
arr = new int[N+1];
ans = new int[N+1];
for(int i = 1; i < N+1; i++) {
arr[i] = Integer.parseInt(st.nextToken());
int cnt = arr[i];
for(int j = 1; j < N+1; j++) {
if (cnt == 0 && ans[j] == 0) {
ans[j] = i;
break;
}
if(ans[j] == 0) {
cnt--;
}
}
}
for(int i = 1; i < N+1; i++){
System.out.print(ans[i]);
System.out.print(" ");
}
}
}