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;
}
'알고리즘 문제 풀이' 카테고리의 다른 글
[백준] 체스판 다시 칠하기 - 복습 (0) | 2021.01.31 |
---|---|
[백준] 제곱 ㄴㄴ 수 - 복습 (0) | 2021.01.31 |
[백준] - Contact - 복습 (0) | 2021.01.31 |
[백준] - 유기농 배추 - 복습 (0) | 2021.01.31 |
[백준] - Fly me to the Alpha Centauri - 복습 (0) | 2021.01.31 |
댓글