Notice
Recent Posts
Link
정화 코딩
[C++] 좌표 압축 (백준 18870번) 본문
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
vector<pair<int, int>> data (n);
vector<int> ans = vector<int>(n);
for (int i = 0; i < n; i++) {
cin >> data[i].first;
data[i].second = i;
}
sort(data.begin(), data.end());
int cnt = 0;
int tmp = 0;
ans[data[0].second] = 0;
int pre = data[0].first;
for (int i = 1; i < n; i++) {
if (data[i].first != pre) {
cnt++;
}
ans[data[i].second] = cnt;
pre = data[i].first;
}
for (int x: ans){
cout << x << ' ';
}
cout << '\n';
}
페어 형태로 벡터에 값들을 저장하고 정렬한 뒤 정답 배열에 인덱스 순서대로 답을 채워주었다. C++에서 페어를 처음 써봤다! (정답)
'PS' 카테고리의 다른 글
[C++] 호 안에 수류탄이야!! (백준 15889번) (0) | 2024.05.28 |
---|---|
[python] 선분 교차 1 (백준 17386번) (0) | 2024.05.26 |
[C++] Z (백준 1074번) (0) | 2024.05.25 |
[python] 가장 긴 증가하는 부분 수열 시리즈 (0) | 2024.05.21 |
[C++] 소수 최소 공배수 (백준 21919번) (0) | 2024.05.21 |
Comments