2차원 좌표 평면의 (x,y)의 좌표 정렬 문제.
x,y 를 가지는 PINT2 구조체를 만들어 동적할당으로 배열 크기를 정해주고 sort 알고리즘에
Compare 함수를 만들어서 풀었다.
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct PINT2
{
int x;
int y;
};
bool Compare(PINT2 a, PINT2 b);
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int pointNum = 0;
cin >> pointNum;
PINT2* points;
points = new PINT2[pointNum];
for (int i = 0; i < pointNum; ++i)
{
cin >> points[i].x >> points[i].y;
}
sort(points, points + pointNum, Compare);
for (int i = 0; i < pointNum; ++i)
{
cout << points[i].x << " " << points[i].y << "\n";
}
delete[] points;
return 0;
}
bool Compare(PINT2 a, PINT2 b)
{
if (a.x == b.x)
{
return a.y < b.y;
}
{
return a.x < b.x;
}
return false;
}