728x90
- 관련 사이트: https://www.acmicpc.net/problem/11650
입력받은 x, y 좌표를 아래의 조건으로 정렬하는 문제이다.
1) x 좌표를 기준으로 오름차순
2) x 좌표가 동일할 경우, y 좌표를 기준으로 오름차순
sort 함수를 이용하되, 비교 기준을 직접 설정할 수 있도록 compare 함수를 선언하여 적용해주었다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(pair<int, int> prev, pair<int, int> next)
{
if (prev.first == next.first)
return prev.second < next.second;
else
return prev.first < next.first;
}
int main()
{
int N, x, y;
vector<pair<int, int>> xy;
cin >> N;
while (N > 0)
{
cin >> x >> y;
xy.push_back(pair<int, int>(x, y));
N--;
}
sort(xy.begin(), xy.end(), compare);
for (pair<int, int> p : xy)
cout << p.first << " " << p.second << "\n";
return 0;
}
- 메모리: 3572 KB
- 시간: 120 ms
- 코드 길이: 593 B
728x90
'Algorithm > BackJoon' 카테고리의 다른 글
10989번: 수 정렬하기 3 (0) | 2023.06.06 |
---|---|
2751번: 수 정렬하기 2 (0) | 2023.06.06 |
11651번: 좌표 정렬하기 2 (0) | 2023.06.05 |
9935번: 문자열 폭발 (0) | 2023.06.04 |
2750번: 수 정렬하기 (0) | 2023.06.04 |
댓글