본문 바로가기

코딩 테스트

백준 11650

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;
}

'코딩 테스트' 카테고리의 다른 글

백준 2751  (0) 2023.06.15
백준 1764  (0) 2023.06.14
백준 10989  (0) 2023.06.13
백준 1874  (0) 2023.06.13
백준 1120  (0) 2023.06.09