https://www.acmicpc.net/problem/2605
문제
줄 서는데 각자 카드만큼 앞으로 이동하기.
입력예시
5
0 1 1 3 2
0 -> 그냥 맨 뒤 그대로 -> 1
1 -> 앞으로 한칸 -> 2 1
1 -> 앞으로 한칸 -> 2 3 1
3 -> 앞으로 세칸 -> 4 2 3 1
2 -> 앞으로 두칸 -> 4 2 5 3 1
출력예시
4 2 5 3 1
#include <stdio.h>
int main(void){
int n;
scanf("%d", &n);
int num[100];
int result[100];
for (int i = 0; i < n; i++){
scanf("%d", &num[i]);
}
for (int i = 0; i < n; i++) {
int num2 = i - num[i]; //지금 줄 서려는 학생 위치
for (int j = i; j > num2; j--){
result[j] = result[j-1]; //배열에 값 삽입하려고 뒤에 있는 거 한칸씩 밀기
}
result[num2] = i + 1; //i+1번 학생을 줄의 num2번째에 넣음
}
for (int i = 0; i < n; i++){
printf("%d ", result[i]);
}
return 0;
}