[๋ฐฑ์ค/C++] 10876๋ฒ : ์ค๋ณต ๋นผ๊ณ ์ ๋ ฌํ๊ธฐ
๋ฌธ์
N๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, N๊ฐ์ ์ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๊ฐ์ ์ ์๋ ํ ๋ฒ๋ง ์ถ๋ ฅํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ์ด๋, ๊ฐ์ ์๋ ํ ๋ฒ๋ง ์ถ๋ ฅํ๋ค.
ํ์ด
set์ ์ด์ฉํ์! (set ์ค๋ช ์ ์๋์...)
#include <iostream>
#include <set>
using namespace std;
int main(){
int n, k;
set<int> s;
cin >> n;
while(n--){
cin >> k;
s.insert(k);
}
for (auto iter=s.begin(); iter!=s.end(); iter++){
cout << *iter << " ";
}
}
Set
- ๋ค์ํ ์๋ฃํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ(key)
- key๊ฐ์ ์ค๋ณต ์์ด ์ ์ฅ
- key๊ฐ์ ์ ๋ ฌ๋ ์ํ๋ก ์ ์ฅ
- ๊ฒ์, ์ฝ์ , ์ญ์ ์์์ ์๊ฐ ๋ณต์ก๋๋ O(logn)
- ๋๋คํ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ์ ์ ๊ทผ ๋ถ๊ฐ(BST ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ)