알고리즘 풀이/백준(Boj)

백준(BOJ) 11650번 좌표 정렬하기

100win10 2019. 8. 15. 03:25

문제 : https://www.acmicpc.net/problem/11650


문제

2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.



나의 풀이 :

pair를 통해 x와 y를 함께 저장하는 배열 S를 만들자 입력을 다 받은 후 sort를 통해 오름차순정렬한다면 기본적으로 처음 x와 대소 비교 후 같다면 y와 대


비교를 해 주어서 반환해주기 때문에 sort정렬후 출력해주기만 하면 된다.



코드 ( C++ )


#include <iostream>

#include <algorithm>

using namespace std;


int N;


pair<int, int> S[100001];



int main()

{

cin >> N;

for (int i = 0; i < N; ++i)

{

cin >> S[i].first >> S[i].second;

}

sort(S, S + N);


for (int i = 0; i < N; ++i)

cout << S[i].first << " " << S[i].second << "\n";

return 0;

}