-
https://www.acmicpc.net/problem/11651
백준 온라인저지 11651번 문제입니다.
C++의 sort를 이용해서 풀었습니다.
#include<iostream> #include<algorithm> #include<vector> #define MAX 100001 using namespace std; vector<pair<int, int>> arr; bool cmp(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; } void Input() { int a,x,y; cin >> a; while (a--) { cin >> x >> y; arr.push_back({ x,y }); } } void solution() { sort(arr.begin(), arr.end(),cmp); } int main(void) { Input(); solution(); for (auto itor : arr) cout << itor.first << " " << itor.second << "\n"; }
아이디어
벡터에 y, x 순서로 넣어서 sort를 돌리면 한번에 해결되지만 x, y 순서로 넣고 cmp함수를 따로 만들어서 second를 먼저 비교하게 함
'알고리즘 > 백준' 카테고리의 다른 글
BOJ2502/ C++ (0) 2022.01.26 BOJ9470/ C++ (0) 2022.01.26 BOJ2623/ C++ (0) 2022.01.10 BOJ2637/ C++ (0) 2022.01.10 BOJ2637/ C++ (0) 2022.01.03 댓글