알고리즘 문제풀기/인프런 강의 정답

38. Inversion Sequence (삽입정렬 코드스타일) [정렬 & 이분탐색(결정알고리즘) & 투포인트 알고리즘 & 스택]

코다람쥐 2022. 4. 10. 23:45

나의정답.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

int main(int argc, char** argv) {
	//reopen("input.txt", "rt", stdin);
	
	int n;
	scanf("%d", &n);
	
	vector<int> arr(n);
	vector<int> inv(n);
	
	for(int i = 0 ; i < n ; i++)
		scanf("%d", &inv[i]);
	
	for(int i = 0 ; i < n ; i++)
		arr[i] = -1;
		
	for(int i = 0 ; i < n ; i++){
		for(int j = 0 ; j < n ; j++){
			if(inv[i] == 0 ){
				if(arr[j] != -1) continue;				
				
				arr[j] = i + 1;
				break;
			}
					
			if( arr[j] == -1 ){
				inv[i]--;
			}
		}		
	}
	
	for(int i = 0 ; i < n ; i++)
		printf("%d ", arr[i]);
}