이전 문제랑 별 다를 거 없는 문제..
이전 문제에서 compare만 조금 바꿔서 넣으면 된다.
#include <stdio.h>
#include <stdlib.h>
typedef struct arr {
int x;
int y;
} axis;
int compare(const void *a, const void *b) {
axis p1 = *(axis *)a;
axis p2 = *(axis *)b;
if(p1.y > p2.y)
return 1;
else if(p1.y < p2.y)
return -1;
else {
if(p1.x > p2.x)
return 1;
else if(p1.x < p2.x)
return -1;
else
return 0;
}
}
int solve() {
int N;
scanf("%d", &N);
axis res[N];
for(int i=0;i<N;i++)
scanf("%d %d", &res[i].x, &res[i].y);
qsort(res, N, sizeof(axis), compare);
for(int i=0;i<N;i++)
printf("%d %d\n", res[i].x, res[i].y);
}
int main() {
solve();
return 0;
}
확실한건 문제를 풀다보니까 문제를 볼때 접근방법이 슬슬 생각나기 시작하는데 좋은 징조같다
'백준 (C99) > 정렬 (完)' 카테고리의 다른 글
백준 10814 : 나이순 정렬 (0) | 2022.02.06 |
---|---|
백준 1181 : 단어 정렬 (0) | 2022.02.06 |
백준 11650 : 좌표 정렬하기 (0) | 2022.02.06 |
백준 1427 : 소트인사이드 (0) | 2022.02.05 |
백준 2108 : 통계학 (0) | 2022.02.05 |
Comment