알고리즘 문제 풀이
[백준] - 수열 정렬 - 복습
pinok1o
2021. 1. 31. 13:38
https://www.acmicpc.net/problem/1015
시간 제한이 2초이다
배열 전체를 돌면서 가장 작은 값을 하나씩 찾으면 되는데..
배열의 인덱스와 값을 pair로 묶어서 sorting해서 찾을 수도 있다
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
int main()
{
int N;
int A[51];
int P[51];
cin >> N;
for (int j = 0; j < N; j++)
{
cin >> A[j];
}
for (int j = 0; j < N; j++)
{
//가장 작음값 찾기
int min = 1001;
int minIndex = -1;
for (int k = 0; k < N; k++)
{
if (min > A[k]) {
minIndex = k;
min = A[k];
}
}
P[minIndex] = j;
A[minIndex] = 1002;
}
for (int j = 0; j < N; j++)
cout << P[j] << " ";
cout << endl;
return 0;
}