-
[1015] 수열 정렬BOJ 2021. 11. 27. 12:14
https://www.acmicpc.net/problem/1015
1015번: 수열 정렬
P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주
www.acmicpc.net
<문제>
수가 작고/수가 같으면 인덱스가 작은순서로 정렬해주면 된다.
nlogn으로 구현할 수 있지만, n^2이어도 n<=50이라 시간초과를 염려할 필요는 없겠다.
<소스코드>
12345678910111213141516171819202122#include <bits/stdc++.h>using namespace std;int n, b[51];using pi = pair<int, int>;priority_queue<pi, vector<pi>, greater<pi>> q;int main(void) {cin >> n;int i, j;for (i = 0; i < n; i++) {int x;cin >> x;q.push({x, i});}memset(b, -1, sizeof(b));for (i = 0; i < n; i++) {auto cur = q.top();q.pop();b[cur.second] = i;}for (i = 0; i < n; i++) cout << b[i] << " ";return 0;}cs 'BOJ' 카테고리의 다른 글
[1253] 좋다 (0) 2021.11.28 [1735] 분수 합 (0) 2021.11.27 [18429] 근손실 (0) 2021.11.27 [14852] 타일 채우기 3 (0) 2021.11.19 [14889] 스타트와 링크 (0) 2021.11.18