Problem Solving/BOJ

[백준 11650번] [정렬] [Compare 함수] 좌표 정렬하기 2

  • -
728x90
반응형

방법론 자체는 11651번과 완전하게 동일하다.

다만, x가 증가하는 것이 먼저 고려되어야 한다는 것을 이용하여 compare함수만 수정해주면 된다.

 

해당하는 알고리즘을 활용하여 코드를 작성하면 다음과 같다.

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cstdlib>

using namespace std;

typedef struct{
    int x;
    int y;
}point;

bool compare(const point value1, const point value2){
    if (value1.x == value2.x){
        return value1.y < value2.y;
    }
    else{
        return value1.x < value2.x;
    }

}

int main(void){
    int n;
    cin >> n;

    vector<point> cor_store;
    for(int i = 0; i < n; i++){
        point temp;
        cin >> temp.x >> temp.y;
        cor_store.push_back(temp);
    }

    sort(cor_store.begin(), cor_store.end(), compare);

    for(int i = 0; i < n ; i++){
        cout << cor_store[i].x << " " << cor_store[i].y << "\n";
    }

    return 0;

}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.