매일 BOJ

(매일 BOJ) C++ 11651번 좌표 정렬하기 2

norepinephrine 2025. 7. 13. 22:38

이번문제는 실버 5 난이도의 좌표 정렬하기 2이다.

접근법

이차원 백터를 만든 후 sort 함수를 사용하여 Y > X 좌표 순으로 정렬하였다.

 

아래는 작성한 코드이다.

#include <bits/stdc++.h>
using namespace std;

int main (void){
    ios::sync_with_stdio(0); cin.tie(0);
    int N;
    cin >> N;
    vector<vector<int>> v;
    for (int i = 0; i < N; i++){
        int a,b;
        cin >> a >> b;
        v.push_back({a, b});
    }
    sort(v.begin(), v.end(), [](const vector<int>& a, const vector<int>& b) {
    if (a[1] == b[1]) return a[0] < b[0];
    return a[1] < b[1];
    });
    for (const auto& a : v){
        for (int b : a){
            cout << b << ' ';
        }
        cout << '\n';
    }
}