๋ฌธ์
๋ฌธ์
2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์
๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด๊ณผ์
1.๊ท์น
- x์ขํ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
2.์์
c++์ ์ ๋ ฌ์ ์ํ sort()ํจ์๊ฐ algorithmํค๋์์ ์ ๊ณต๋๋ฏ๋ก ํด๋น ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
[sort()๋ฅผ ๋ ์์ธํ๊ฒ ์๊ณ ์ถ๋ค๋ฉด ์ด ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์]
sort๋ ๊ธฐ๋ณธํจ์, ์ปค์คํ ํจ์ 2๊ฐ์ง๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
default(๊ธฐ๋ณธํจ์)(1) |
template<class RandomAccessIterator> |
void sort (RandomAccessIterator first, RandomAccessIterator last); | |
custom(์ปค์คํ ํจ์)(2) | template<class RandomAccessIterator, class Compare> |
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); |
sort()๋ comp์ธ์๋ฅผ ๋ฃ์ง ์์ผ๋ฉด [first , last] ์ฌ์ด์ ์์(element)๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ค๋๋ค.
first, last ์ธ์๋ ์ดํฐ๋ ์ดํฐ์ด๋ฉฐ,
comp ์ธ์๋ ์ปค์คํ ํจ์๋ก์จ bool ํจ์๋ช (์ ๋ ฌํ๋ ค๋ ์์์ ํ์ ){ return ์์1 < ์์2; } ๊ฐ์ ํํ๋ฅผ ๊ฐ์ต๋๋ค.
(์์1 < ์์2 ๋ก ๋ฆฌํดํด์ฃผ๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก, ์์1 > ์์2๋ก ๋ฆฌํดํด์ฃผ๋ฉด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค)
11650๋ฒ ๋ฌธ์ ์ ๊ฒฝ์ฐ x์ขํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ๋, ์์์ x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๋ฅผ ์ค๋ฆ์ฐจ์ ํด์ค์ผ ํ๋ฏ๋ก, ์๋์ ๊ฐ์ ์ปค์คํ ํจ์๋ฅผ ๋ง๋ค์ด comp์ธ์์ ๋ฃ์ด์ค๋๋ค.
3.์ฝ๋
'๐ค PS(Problem Solving) > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/c++] 10814๋ฒ - ๋์ด์ ์ ๋ ฌ (0) | 2019.07.28 |
---|---|
[๋ฐฑ์ค/c++] 11651๋ฒ - ์ขํ ์ ๋ ฌํ๊ธฐ2 (0) | 2019.07.25 |
[๋ฐฑ์ค] 2751๋ฒ - ์ ์ ๋ ฌํ๊ธฐ2 (0) | 2019.07.23 |
[๋ฐฑ์ค] 11052๋ฒ - ์นด๋ ๊ตฌ๋งคํ๊ธฐ (0) | 2019.07.22 |
[๋ฐฑ์ค] 2011๋ฒ - ์ํธ์ฝ๋ (0) | 2019.07.21 |