[C++ 백준] 11651 좌표 정렬하기2
728x90
반응형
블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다.
문제 설명
- 2차원 평면 위의 점 N개(1 <=N <=100,000)가 주어진 뒤 좌표의 x, y(-100,000 <=x, y <=100,000)가 주어진다.
- 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.
풀이 전략
- a와 b의 값을 비교하여 정렬 후 출력한다.
소스 코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool Comp(pair<int, int> a, pair<int, int> b)
{
if (a.second < b.second)
return true;
else if (a.second == b.second)
{
if (a.first < b.first)
return true;
}
return false;
}
int main()
{
int n;
vector<pair<int,int>> vec;
cin >> n;
for (int i = 0; i < n; ++i)
{
int x, y;
cin >> x >> y;
vec.push_back(make_pair(x,y));
}
sort(vec.begin(), vec.end(), Comp);
for (int i = 0; i < n; ++i)
{
cout << vec[i].first << ' ' << vec[i].second << '\n';
}
}
링크
https://www.acmicpc.net/problem/11651
728x90
반응형
'문제풀이 > BOJ' 카테고리의 다른 글
[C++ 백준] 1181 단어 정렬 (0) | 2021.08.26 |
---|---|
[C++ 백준] 18870 좌표 압축 (0) | 2021.08.18 |
[C++ 백준] 1929 소수 구하기 (0) | 2021.06.13 |
[C++ 백준] 1065 한수 (0) | 2021.06.12 |
[C++ 백준] 1002 터렛 (0) | 2021.06.09 |
댓글
이 글 공유하기
다른 글
-
[C++ 백준] 1181 단어 정렬
[C++ 백준] 1181 단어 정렬
2021.08.26 -
[C++ 백준] 18870 좌표 압축
[C++ 백준] 18870 좌표 압축
2021.08.18 -
[C++ 백준] 1929 소수 구하기
[C++ 백준] 1929 소수 구하기
2021.06.13 -
[C++ 백준] 1065 한수
[C++ 백준] 1065 한수
2021.06.12