컴굥일지
[BOJ/백준 11651][C++] 좌표 정렬하기 2 본문
반응형
문제
https://www.acmicpc.net/problem/11651
문제 내용
(x, y) 좌표를 입력받아, y좌표를 증가하는 순으로 정렬한다.
만약, y좌표가 같을 경우, x좌표가 증가하는 순으로 정렬하면 된다.
문제 풀이
pair<int,int>로 입력받아서 sort로 정렬한다.
sort로 정렬을 할 때에, 3번째 인자로 compare 함수를 구현하여 넣어준다.
코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(pair<int, int>a, pair<int, int>b) {
if (a.second == b.second) {
return a.first < b.first;
}
else {
return a.second < b.second;
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//입력
int n; cin >> n;
vector<pair<int, int>> arr;
int x, y;
for (int i = 0; i < n; i++) {
cin >> x >> y;
arr.push_back(make_pair(x, y));
}
//정렬
sort(arr.begin(), arr.end(),compare);
//출력
for (int i = 0; i < n; i++) {
cout << arr[i].first << ' ' << arr[i].second << '\n';
}
}
반응형
'알고리즘 > 코테 문제' 카테고리의 다른 글
[BOJ/백준 2865][C++] 나는 위대한 슈퍼스타K (0) | 2022.05.09 |
---|---|
[BOJ/백준 9184][C++] 신나는 함수 실행 (0) | 2022.05.04 |
[BOJ/백준 2751][C++] 수 정렬하기 2 (0) | 2022.05.02 |
[BOJ/백준 1436][C++] 영화감독 숌 (0) | 2022.05.01 |
[BOJ/백준 17478][C++] 재귀함수는 뭔가요? (0) | 2022.04.30 |
Comments