나의 브을로오그으

[c++] 18870번 : 좌표 압축 본문

알고리즘/BaekJoon

[c++] 18870번 : 좌표 압축

__jhp_+ 2022. 10. 12. 08:05

https://www.acmicpc.net/problem/18870

 

18870번: 좌표 압축

수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌

www.acmicpc.net

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	
	vector<int> v, back;
	int N, input;
	
	cin >> N;

	v.reserve(1'000'000);
	back.reserve(1'000'000);

	for (int i = 0; i < N; ++i)
	{
		cin >> input;
		v.push_back(input);
		back.push_back(input);
	}

	sort(v.begin(), v.end());
	v.erase(unique(v.begin(), v.end()), v.end());

	for (int i = 0; i < N; ++i)
	{
		cout << lower_bound(v.begin(), v.end(), back[i]) - v.begin() << '\n';
	}

	return 0;
}

'알고리즘 > BaekJoon' 카테고리의 다른 글

[c++] 7576번 : 토마토  (0) 2022.10.21
[c++] 7569번 : 토마토  (0) 2022.10.19
[c++] 17626번 : Four Squares  (0) 2022.10.04
[c++] 11727번 : 2 x n 타일링 2  (0) 2022.09.27
[c++] 11726번 : 2Xn 타일링  (0) 2022.09.20