본문 바로가기

Algorithm/BAEKJOON

[BOJ] 11650번 좌표 정렬하기 (C++)

728x90
반응형

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

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector<pair<int, int>> v;

	int n, x, y;
	cin >> n;


	for (int i = 0; i < n; i++) {
		cin >> x >> y;
		v.push_back({ x, y });
	}

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

	for (int i = 0; i < n; i++) {
		cout << v[i].first << " " << v[i].second << '\n';
	}
	return 0;
}

 

STL의 sort 함수를 쓰면, vector의 first를 기준으로 정렬하고, first가 같으면 second를 기준으로 정렬한다.

728x90
반응형

'Algorithm > BAEKJOON' 카테고리의 다른 글

[BOJ] 15649번 N과 M (1) (C++)  (0) 2021.11.09
[BOJ] 11651번 좌표 정렬하기 2 (C++)  (0) 2021.11.07
[BOJ] 2178번 미로 탐색 (C++)  (0) 2021.11.07
[BOJ] 11279번 최대 힙 (C++)  (0) 2021.11.07
[BOJ] 1991번 트리 순회 (C++)  (0) 2021.11.06