๋ฌธ์ (11650)
2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
11650๋ฒ์ x์ขํ ์ฐ์ ์ผ๋ก ์ ๋ ฌ ํ ์ถ๋ ฅํ๋ ๋ฌธ์ .
๊ตฌ์กฐ์ฒด์ ๋ฒกํฐ๋ฅผ ์ฌ์ฉํ์๊ณ , algorithm ํค๋์ sort ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌํ์๋ค.
sort(v.begin(), v.end(), compare) -> v์ ์ฒ์๋ถํฐ ๋๊น์ง, compare๊ฐ true์ผ ๋ ์๋ค ์์ ๋ณ๊ฒฝ
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Coor {
int x;
int y;
};
bool compare(Coor a, Coor b) {
if (a.x == b.x) return a.y < b.y;
else return a.x < b.x;
}
int main() {
int n;
vector<Coor> v;
cin >> n;
for (int i = 0; i < n; ++i) {
Coor coor;
cin >> coor.x >> coor.y;
v.push_back(coor);
}
sort(v.begin(), v.end(), compare);
for (int i = 0; i < n; ++i) {
cout << v[i].x << " " << v[i].y << "\n";
}
}
11651๋ฒ์ ์ ๋ฌธ์ ์ ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ชจ๋ ๋์ผํ๊ณ , y์ขํ ์ฐ์ ์ผ๋ก ์ ๋ ฌํ๋ ๋ฌธ์ ์ด๋ค.
๋ ์ ์์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ์ฌ true/false๋ฅผ ๋ฐํํ๋ compare ํจ์๋ง ์์ ํ๋ฉด ๋๋ค.
bool compare(Coor a, Coor b) {
if (a.y == b.y) return a.x < b.x;
else return a.y < b.y;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/๋ฐฑ์ค] 25178 : ๋๋ผ๋ฌด๋ฆฌ ํด์ง (0) | 2022.08.09 |
---|---|
[C++/๋ฐฑ์ค] 2502 : ๋ก ๋จน๋ ํธ๋์ด (0) | 2022.08.01 |
[C++/๋ฐฑ์ค] 10989 : ์ ์ ๋ ฌํ๊ธฐ 3 (0) | 2022.07.25 |
[C++/๋ฐฑ์ค] 2920 : ์๊ณ (0) | 2022.07.22 |
[C++/๋ฐฑ์ค] 2775 : ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ (0) | 2022.07.22 |